图解HTTP第六章
HTTP 报文
1》HTTP 报文
2》HTTP 请求报文
在请求中,HTTP 报文由方法、URI、HTTP 版本、HTTP 首部字段、报文主体(不一定需要)等部分构成。
3》HTTP 响应报文
在响应中,HTTP 报文由 HTTP 版本、状态码(数字和原因短语)、
HTTP 首部字段 、报文主体等 部分构成
4》HTTP 首部字段
【1】HTTP 首部字段传递重要信息
【2】HTTP 首部字段结构
【3】4 种 HTTP 首部字段类型
通用首部字段(General Header Fields):请求报文和响应报文两方都会使用的首部
请求首部字段(Request Header Fields):从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息
响应首部字段(Response Header Fields):从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息
实体首部字段(Entity Header Fields):针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。
【4】HTTP/1.1 首部字段一览
HTTP/1.1 规范定义了如下 47 种首部字段:
Cache-Control:
public 指令:当指定使用 public 指令时,则明确表明其他用户也可利用缓存。
private 指令:缓存服务器会对该特定用户提供资源缓存的服务,对于其他用户发送过来的请求,代理服务器则不会返回缓存
no-cache 指令:代表不缓存过期的资源,缓存会向源服务器进行有效期确认后处理资源(不代表不缓存,只是不缓存过期的)
no-store 指令:规定缓存不能在本地存储请求或响应的任一部分,也就是不缓存
s-maxage 指令:指定缓存期限和认证的指令,当使用 s-maxage 指令后,则直接忽略对 Expires 首部字段及max-age 指令的处理
max-age 指令:
min-fresh 指令:
max-stale 指令:
only-if-cached 指令:
must-revalidate 指令:
proxy-revalidate 指令:
no-transform 指令:
Connection:
Date:
Pragma:
Trailer:
Transfer-Encoding:
Upgrade:
Via:
Warning:
Accept:
Accept-Charset:
Accept-Encoding:
Accept-Language:
Authorization:
Expect:
From:
Host:
If-Match:
【5】非 HTTP/1.1 首部字段
在 HTTP 协议通信交互中使用到的首部字段,除了以上的47种,还有 Cookie、Set-Cookie 和 Content-Disposition等
【6】End-to-end 首部和 Hop-by-hop 首部