6HTTP 首部
HTTP
协议的请求和响应报文中必定包含HTTP
首部
6.1 HTTP报文首部
HTTP
协议的请求和响应报文中必定包含HTTP
首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。对于客户端用户来说,信息中的大部分内容都无须亲自查看
报文首部由几个字段构成
-
HTTP 请求报文
在请求中,HTTP
报文由方法、URI
、HTTP版本
、HTTP
首部字段等部分构成
-
HTTP 响应报文
在响应中,HTTP
报文由HTTP
版本、状态码(数字和原因短语)、HTTP
首部字段3部分构成
具体示例:
6.2 HTTP首部字段
6.2.1 HTTP首部字段传递重要信息
作用:向浏览器和服务器提供报文主体大小、所使用的的语言、认证信息等
6.2.2 HTTP首部字段结构
HTTP
首部字段由首部字段名和字段值构成,中间用冒号:
分隔,形式便是首部字段名:字段值
例如,使用Content-Type
表示报文主体的对象类型
COntont-Type:text/html
字段值对应单个HTTP
首部字段可以有多个值
Keep-Alive:timeout = 15, max = 100
6.2.3 4种HTTP首部字段类型
首部字段分4
种类型:
通用首部字段General Header Fields
请求报文和响应报文都会使用的首部请求首部字段Request Header Fields
从客户端向服务端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息响应首部字段Response Header Fields
从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息实体首部字段Entity Header Fidlds
针对请求报文和响应报文的实体部分使用首部。补充了资源内容更新时间等实际与实体有关的信息
6.2.4 HTTP/1.1 首部字段一览
HTTP/1.1 47种首部字段
实在不想把表格敲一遍了,就直接偷懒,截图了
-
通用首部字段
-
请求首部字段
-
响应首部字段
-
实体首部字段
6.3 HTTP/1.1 通用首部字段
通用首部是指请求报文和响应报文都会用到的首部
6.3.1 Cache-Control
通过指定首部Cache-Control
的指令,操作缓存的工作机制
指令可选,多个指令之间通过,
分隔。首部字段Cache-Control
指令可用于请求及响应时
Cache-Control :private ,max-age = 0,no-cache
Cache-Control指令一览
-
缓存请求指令
-
缓存响应指令
- public:其他用户也可以利用缓存
-
private:响应只以特定的用户作对象,与
public
指令行为相反
缓存服务器,会对该特定用户提供资源缓存的服务,对于其他用户发来请求,不会返回缓存
-
no-cache指令:不缓存过期资源
作用:防止从缓存中返回过期的资源
客户端发送包含no-cache
指令,客户端将不会接受缓存过的响应。“中间”的缓存服务器必须把客户端必须把客户端请求转发给源服务器
如果服务器返回的响应包含no-cache
指令,缓存服务器不能对资源进行缓存。源服务器以后将不再对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作
Cache-Control : no-cache=Location
由服务器返回的响应中,若报文首部字段Cache-Control
中对no-cache
字段名具体指定参数值,客户端在接收到的这个被指定参数值的首部字段对应的响应报文后,就不能使用缓存。无参数值的首部字段可以使用缓存,只能在响应指令中指定该参数
- no-store:不缓存,缓存不能在本地存储请求或响应的任一部分
指定缓存期限和认证的指令
-
max-age指令
当客户端发送的请求中包含max-age
指令时,如果判定缓存资源的缓存时间数值比指定时间小,客户端就接收缓存的资源。若max-age = 0
,缓存服务器需要将请求转发给源服务器
当源服务器返回的响应中包含max-age
指令时,缓存服务器将不对资源的有效性再作确认,而max-age
数值代表资源保存为缓存的最长时间
- max-statle:过期也照常接收缓存
如果指令未指定参数值,无论经过多久,客户端都会接收响应;如果指令中指定来具体数值,即使过期,只要仍处于max-statle
指定时间内,仍旧会被客户端接收
- only-if-cached
仅在缓存服务器有本地缓存目标资源的情况下,才会返回。要求服务器不重新加载响应,也不会再次确认资源有效性。若发生请求缓存服务器的本地缓存无响应,则返回504 Gateway Timeout
还有一大堆,不想摘抄了,用到直接百度好了
6.4 为Cookie服务首部字段
Cookie
的工作机制是用户识别及状态管理。
首部字段名 | 说明 | 首部类型 |
---|---|---|
Set-Cookie | 开始状态管理所使用的Cookie信息 | 响应首部字段 |
Cookie | 服务器接收到的Cookie信息 | 请求首部字段 |
最后
第6章,抄着不想抄了,看了看,也没记住啥
有错误,请指出
共勉 :)