HTTP协议报文格式

一、HTTP消息结构

        HTTP是基于客户端/服务端(C/S)的架构模型,HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。一旦建立连接后,数据消息就通过类似Internet邮件所使用的格式[RFC5322]和多用途Internet邮件扩展(MIME)[RFC2045]来传送。

二、客户端请求报文格式

       客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行、请求数据四个部分组成

【1】请求行

         由请求方法, URL, 协议版本 三部分组成,之间由空格分隔。eg:GET  /hello.text  HTTP/1.1

【2】请求头部

         请求头部为请求报文添加了一些附加信息,用来说明服务器要使用的附加信息,由“名/值”对组成。

字段 解释
Accept 指定客户端能够接收的内容类型
Accept-Charset 浏览器可以接受的字符编码集。
Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。
Accept-Language 浏览器可接受的语言
Accept-Ranges 可以请求网页实体的一个或者多个子范围字段
Authorization HTTP授权的授权证书
Cache-Control 指定请求和响应遵循的缓存机制
Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接)
Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
Content-Length 请求的内容长度
Content-Type 请求的与实体对应的MIME信息
Date 请求发送的日期和时间
Expect 请求的特定的服务器行为
From 发出请求的用户的Email
Host 指定请求的服务器的域名和端口号
If-Match 只有请求内容与实体相匹配才有效
If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码
If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变
If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag
If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功
Max-Forwards 限制信息通过代理和网关传送的时间
Pragma 用来包含实现特定的指令
Proxy-Authorization 连接到代理的授权证书
Range 只请求实体的一部分,指定范围
Referer 先前网页的地址,当前请求网页紧随其后,即来路
TE 客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息
Upgrade 向服务器指定某种传输协议以便服务器进行转换(如果支持)
User-Agent User-Agent的内容包含发出请求的用户信息
Via 通知中间网关或代理服务器地址,通信协议
Warning 关于消息实体的警告信息

【3】空行

         请求头部后面的空行是必须的

【4】请求正文

         请求数据也叫主体,可以添加任意的其他数据

扫描二维码关注公众号,回复: 4634648 查看本文章

三、服务器响应报文格式

          服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行、响应正文

【1】状态行

         由HTTP协议版本号, 状态码, 状态消息 三部分组成,之间由空格分隔 。eg:HTTP/1.1  200  OK

【2】消息报头

         用来说明客户端要使用的一些附加信息

字段 解释
Cache-Control  告诉浏览器或者其他客户,什么环境可以安全地缓存文档
Connection  当client和server通信时对于长链接如何进行处理
 Content-Encoding  数据在传输过程中所使用的压缩编码方式
 Content-Type  数据的类型
 Date  数据从服务器发送的时间
Expires  应该在什么时候认为文档已经过期,从而不再缓存它?
 Server  服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置
 Set-Cookie  设置和页面关联的cookie
Transfer-Encoding 数据传输的方式

【3】空行

         消息报文后面的空行是必须的

【4】响应正文

         服务器返回给客户端的文本信息

猜你喜欢

转载自blog.csdn.net/qq_38128179/article/details/85068195
今日推荐