HTTP 请求和响应信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq193423571/article/details/83150088

HTTP 请求和响应信息

首部介绍

通用首部字段

首部字段名 说明
Cache-Control 控制缓存的行为
Connection 控制不再转发给代理的首部字段、管理持久连接
Date 创建报文的日期时间
Pragma 报文指令
Trailer 报文末端的首部一览
Transfer-Encoding 指定报文主体的传输编码方式
Upgrade 升级为其他协议
Via 代理服务器的相关信息
Warning 错误通知

请求首部字段

首部字段名 说明
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Authorization
Expect
From
Host
If-Match
If-Modified-Since
If-None-Match
If-Range
If-Unmodified-Since
Max-Forwards
Proxy-Authorization
Range
Referer
TE
User-Agent HTTP

响应首部字段

首部字段名 说明
Accept-Ranges 是否接受字节范围请求
Age 推算资源创建经过时间
ETag 资源的匹配信息
Location 令客户端重定向至指定 URI
Proxy-Authenticate 代理服务器对客户端的认证信息
Retry-After 对再次发起请求的时机要求
Server HTTP 服务器的安装信息
Vary 代理服务器缓存的管理信息
WWW-Authenticate 服务器对客户端的认证信息

实体首部字段

首部字段名 说明
Allow 资源可支持的 HTTP 方法
Content-Encoding 实体主体适用的编码方式
Content-Language 实体主体的自然语言
Content-Length 实体主体的大小
Content-Location 替代对应资源的 URI
Content-MD5 实体主体的报文摘要
Content-Range 实体主体的位置范围
Content-Type 实体主体的媒体类型
Expires 实体主体过期的日期时间
Last-Modified 资源的最后修改日期时间

请求信息

组成:请求行(request line)请求头部(header) 空行 请求数据

请求信息图片

  • 第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.GET说明请求类型为GET,URL 为要访问的资源,该行的最后一部分说明使用的是HTTP的版本。
  • 第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要-使用的附加信息
    从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等
  • 第三部分:空行,请求头部后面的空行是必须的
  • 第四部分:请求数据,也叫主体,可以添加任意的其他数据。

即使第四部分的请求数据为空,也必须有空行。

例子一枚

  • GET 请求信息
    GET /xxx.jpg HTTP/1.1
    Host img.xxx.com
    User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
    Accept image/webp,image/,/*;q=0.8
    Referer http://www.xxx.com/
    Accept-Encoding gzip, deflate, sdch
    Accept-Language zh-CN,zh;q=0.8

  • POST 请求信息
    POST / HTTP1.1
    Host:www.xxx.com
    User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
    Content-Type:application/x-www-form-urlencoded
    Content-Length:40
    Connection: Keep-Alive
    第一部分:请求行,第一行明了是post请求,以及http1.1版本。
    第二部分:请求头部,第二行至第六行。
    第三部分:空行,第七行的空行。
    第四部分:请求数据,第八行。

响应信息

响应信息图片

  • 第一部分:状态行,由HTTP协议版本号,状态码,状态消息(OK /not found/Internal server error) 三部分组成。
    第一行为状态行,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok)
  • 第二部分:消息报头,用来说明客户端要使用的一些附加信息
    第二行和第三行为消息报头,
    Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8
  • 第三部分:空行,消息报头后面的空行是必须的
  • 第四部分:响应正文,服务器返回给客户端的文本信息。

空行后面的html部分为响应正文。

猜你喜欢

转载自blog.csdn.net/qq193423571/article/details/83150088