《图解HTTP》读书笔记

一、了解Web及网络基础

HTTP(HyperText Transfer Protocol,超文本传输协议)

TCP/IP分层:应用层(通信的活动,FTP文件传输协议、DNS域名系统),传输层(提供数据传输,TCP传输控制协议、UDP用户数据报协议),网络层(用来处理数据包,IP网络协议),链路层(网络链接的硬件部分)

TCP协议为了确保可靠性:三次握手,用TCP协议把数据包送出去以后,会向对方确认是否成功送达(发送端发送带SYN标志的数据包,接收端收到后回传带SYN/ACK标志的数据包,发送端再回传带ACK的数据包,握手结束)

DNS协议:应用层,提供通过域名查找IP地址,或逆向从IP地址反查域名的服务

URI是由某个协议方案表示的资源的定位标识符

二、简单的HTTP协议

HTTP方法:

  GET 获取资源

  POST 传输资源

  PUT 传输文件

  HEAD 获得报文首部

  DELETE 删除文件

  OPTIONS 询问支持的方法

  TRACE 追踪路径

  CONNECT 要求用随到协议连接代理

持久连接:所有HTTP/1.1的连接默认都是持久连接

管线化:同时并行发送多个请求

Cookie:HTTP是无状态协议,Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态

三、HTTP报文内的HTTP信息

HTTP报文:用于HTTP协议交互的信息被称为HTTP报文,请求端的HTTP报文叫做请求报文,响应端的叫做响应报文

报文由报文首部(请求行或状态行、首部字段(请求或响应首部字段、通用首部字段、实体首部字段、其他)、其他)和报文主体组成

报文和实体的区别:报文是订单信息,实体是货物

压缩传输的内容编码:gzip(GNU zip)、compress(UNIX系统的标准压缩)、deflate(zlib)、identity(不进行压缩)

四、返回结果的HTTP状态码

 HTTP状态码:

  1XX Informational(信息性状态码) 接受的请求正在处理

  2XX Success(成功状态码) 请求正常处理完毕

  3XX Redirection(重定向状态码) 需要进行附加操作以完成请求

  4XX Client Error(客户端错误状态码) 服务器无法处理请求

  5XX Server Error(服务器错误状态码)服务器处理请求出错

五、与HTTP协作的Web服务器

通信数据转发程序:代理、网关、隧道

六、HTTP首部

通用首部字段:

  Cache-Control 控制缓存的行为

  Connection 逐跳首部、连接的管理

  Date 创建报文的日期时间

  Pragma 报文指令

  Trailer 报文末端的首部一览

  Transfer-Encoding 指定报文主体的传输编码方式

  Upgrade 升级为其他协议

  Via 代理服务器的相关信息

  Warning 错误通知

请求首部字段:

  Accept 用户代理可处理的媒体类型

  Accept-Charset 优先的字符集

  Accept-Encoding 优先的内容编码

  Accept-Language 优先的语言(自然语言)

  Authorization Web认证信息

  Expect 期待服务器的特定行为

  From 用户的电子邮箱地址

  Host 请求资源所在服务器

  If-Match 比较实体标记(ETag)

  If-Modified-Since 比较资源的更新时间

  If-None-Match 比较实体标记(与If-Match相反)

  If-Range 资源未更新时发送实体Byte的范围请求

  If-Unmodified-Since 比较资源的更新时间(与If-Modified-Since相反)

  Max-Forwards 最大传输逐跳数

  Proxy-Authorization 代理服务器要求客户端的认证信息

  Range 实体的字节范围请求

  Referer 对请求中URI的原始获取方

  TE 传输编码的优先级

  User-Agent HTTP客户端程序的信息

响应首部字段:

  Accept-Ranges 是否接受字节范围请求

  Age 推算资源创建经过时间

  ETage 资源的匹配信息

  Location 令客户端重定向至指定URI

  Proxy-Authenticate 代理服务器对客户端的认证信息

  Retry-After 对再次发起请求的时机要求

  Server HTTP服务器的安装信息

  Vary 代理服务器缓存的管理信息

  WWW-Authenticate 服务器对客户端的认证信息

实体首部字段:

  Allow 资源可支持的HTTP方法

  Content-Encoding 实体主体适用的编码方式

  Content-Language 实体主体的自然语言

  Content-Length 实体主体的大小(单位:字节)

  Content-Location 替代对应资源的URI

  Content-MD5 实体主体的报文摘要

  Content-Range 实体主体的位置范围

  Content-Type 实体主体的媒体类型

  Expires 实体主体过期的日期类型

  Last-Modified 资源的最后修改日期

七、确保Web安全的HTTPS

八、确认访问用户身份的认证

九、基于HTTP的功能追加协议

十、构建Web内容的技术

十一、Web的攻击技术

针对Web的攻击技术:

  HTTP不具备必要的安全功能

  在客户端即可篡改请求

  针对Web应用的攻击模式

因输出值转义不完全引发的安全漏洞:

  跨站脚本攻击

  SQL注入攻击

  OS命令注入攻击

  HTTP首部注入攻击

  邮件首部注入攻击

  目录遍历攻击

  远程文件包含漏洞

因设置或设计上的缺陷引发的安全漏洞:

  强制浏览

  不正确的错误消息处理

  开放重定向

因会话管理疏忽引发的安全漏洞:

  会话劫持

  会话固定攻击

  跨站点请求伪造

其他安全漏洞:

  密码破解

  点击劫持

  DoS攻击

  后门程序

原文地址:https://www.cnblogs.com/ctxsdhy/p/7672987.html