图解http:第六章http首部

在这里插入图片描述
在这里插入图片描述

HTTP/1.1 首部字段一览

HTTP/1.1 规范定义了如下 47 种首部字段。
在这里插入图片描述
6-2:请求首部字段在这里插入图片描述在这里插入图片描述
在这里插入图片描述

除此之外还有很多经常使用的在RFC中定义的首部字段如:Cookie,Set-Cookie和Content-Disposition.这些都被归纳到RFC4229 HTTP Header Field Registrations

End-to-end 首部和 Hop-by-hop首部

端到端(End-to-end):分类到这个类的首部一定会被转发给对应的最终接收目标,且必须保存在由缓存产生的响应。
逐跳首部(Hop-By-Hop):只对单次转发有效,会因为通过缓存或代理不再转发。HTTP/1.1后的版本,如果要使用这个,要提供Connection首部字段。有这八个首字段属于:
Connection Keep-Alive Proxy-Authenticate Proxy-Authorization
Trailer TE Transfer-Encoding Upgrade …
字段详解

通用首部字段

这意味着能分别在请求报文和响应报文中使用。

Cache-Control

指令的参数是可选的, 多个指令之间通过“,”分隔。 首部字段 CacheControl 的指令可用于请求及响应时。
如:
Cache-Control: private, max-age=0, no-cache
在这里插入图片描述
在这里插入图片描述

no-cache:

使用 no-cache 指令的目的是为了防止从缓存中返回过期的资源。 客户端发送的请求中如果包含 no-cache 指令,则表示客户端将不会接 收缓存过的响应。于是,“中间”的缓存服务器必须把客户端请求转发 给源服务器。
如果服务器返回的响应中包含 no-cache 指令,那么缓存服务器不能对 资源进行缓存。源服务器以后也将不再对缓存服务器请求中提出的资 源有效性进行确认,且禁止其对响应资源进行缓存操作。

max-age:

当客户端发送的请求中包含 max-age 指令时,如果判定缓存资源的缓 存时间数值比指定时间的数值更小,那么客户端就接收缓存的资源。 另外,当指定 max-age 值为 0,那么缓存服务器通常需要将请求转发 给源服务器。

Connection

控制不再转发给代理的首部字段
管理持久连接

如:Connection: Keep-Alive

Via

使用首部字段 Via 是为了追踪客户端与服务器之间的请求和响应报文 的传输路径。
报文经过代理或网关时,会先在首部字段 Via 中附加该服务器的信 息,然后再进行转发。这个做法和 traceroute 及电子邮件的 Received 首部的工作机制很类似。
首部字段 Via 不仅用于追踪报文的转发,还可避免请求回环的发生。 所以必须在经过代理时附加该首部字段内容。

Warning

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章