HTTP从入门到懵逼学习笔记(六)

 在以前的文章中,我们就已经知道了HTTP报文的结构。HTTP请求报文:在请求中,HTTP报文由方法、URI、HTTP版本、HTTP首部字段等部分组成。HTTP响应报文:在响应中,HTTP报文由HTTP版本、状态码(数字和原因短语)、HTTP首部字段3部分组成。在今天,主要就是对HTTP首部字段进行学习。

HTTP首部字段

概述

 在客户端与服务器之间以 HTTP 协议进行通信的过程中,无论是请求还是响应都会使用首部字段,它能起到传递额外重要信息的作用。
使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。
 HTTP 首部字段是由首部字段名和字段值构成的,中间用冒号“:” 分隔。
 如下

Content-Type: text/html

HTTP 首部字段类型

HTTP首部字段类型主要是分为以下四种:
1.通用首部字段(General Header Fields):请求报文和响应报文两方都会使用的首部。

通用首部字段.png

2.请求首部字段(Request Header Fields):从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息 。

请求首部字段.png

3.响应首部字段(Response Header Fields):从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。

响应首部字段.png

4.实体首部字段(Entity Header Fields):针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

实体首部字段.png

以上便是HTTP/1.1规范定义的47种首部字段。

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

HTTP 首部字段将定义成缓存代理和非缓存代理的行为,分成 2 种类型。

1.端到端首部(End-to-end Header)
分在此类别中的首部会转发给请求 / 响应对应的最终接收目标,且必须保存在由缓存生成的响应中,另外规定它必须被转发。

2.逐跳首部(Hop-by -hop Header)
分在此类别中的首部只对单次转发有效,会因通过缓存或代理而不再转发。HTTP/1.1 和之后版本中,如果要使用 hop-by-hop 首部,需提供 Connection 首部字段。

下面列举了 HTTP/1.1 中的逐跳首部字段。除这 8 个首部字段之外,其他所有字段都属于端到端首部。

逐跳首部.png

非HTTP/1.1首部字段

不限于上述47种,还有Cookie,Set-Cookie和Content-Disposition等。。。。


具体《图解HTTP》 密码:1t32
参考资料:《图解HTTP》+无所不知的度娘+各位大佬的博客(文中图片均来自《图解HTTP》)

你可能感兴趣的:(HTTP从入门到懵逼学习笔记(六))