1 HTTP 协议
请求报文
响应报文
常见的请求方法:get,post、head、delete,trace
使用 Cookie 的状态管理
Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的 首部字段信息,通知客户端保存 Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。 服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。
HTTP 报文
HTTP 报文大致可分为报文首部和报文主体两块。两者由最初出现的 空行(CR+LF)来划分。通常,并不一定要有报文主体。
客户端发送的http报文叫做请求报文,服务端发送的报文叫做响应报文。
返回结果的 HTTP 状态码
响应的状态嘛类型:
2. HTTP 首部
2.1HTTP 报文首部
请求报文:
响应报文:
2.2 HTTP 首部字段
使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的 语言、认证信息等内容。
HTTP 首部字段结构:HTTP 首部字段是由首部字段名和字段值构成的,中间用冒号“:” 分 隔。
HTTP 首部字段根据实际用途被分为4种类型:
通用首部字段;请求首部字段(Request Header Fields; 响应首部字段(Response Header Fields); 实体首部字段(Entity Header Fields)
如;
请求首部字段
重点记录一下:通用首部字段
2.2.1 Cache-Control:通过指定首部字段 Cache-Control 的指令,就能操作缓存的工作机制。
指令查询如下:
2.2.2 Connection:Connection 首部字段具备两个作用。 控制不再转发给代理的首部字段和管理持久连接
(1)HTTP/1.1 版本的默认连接都是持久连接。为此,客户端会在持久连接上连续发送请求。当服务器端想明确断开连接时,则指定 Connection 首部字段的值为 Close。
(2)HTTP/1.1 之前的 HTTP 版本的默认连接都是非持久连接。为 此,如果想在旧版本的 HTTP 协议上维持持续连接,则需要指定 Connection 首部字段的值为 Keep-Alive
2.2.3 Date
首部字段 Date 表明创建 HTTP 报文的日期和时间。
2.2.4 Pragm
Pragma 是 HTTP/1.1 之前版本的历史遗留字段,仅作为与 HTTP/1.0 的向后兼容而定义。
2.2.5 Trailer
首部字段 Trailer 会事先说明在报文主体后记录了哪些首部字段。该 首部字段可应用在 HTTP/1.1 版本分块传输编码时。
2.2.6 Transfer-Encoding
首部字段 Transfer-Encoding 规定了传输报文主体时采用的编码方式。 HTTP/1.1 的传输编码方式仅对分块传输编码有效。
2.2.7 Upgrade
首部字段 Upgrade 用于检测 HTTP 协议及其他协议是否可使用更高的版本进行通信,其参数值可以用来指定一个完全不同的通信协议。