《HTTP权威指南》3-HTTP报文

报文流

HTTP报文是在HTTP应用程序之间发送的数据块,这些数据块以文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分。
这些报文在客户端,服务器和代理之间流动。

报文的组成成分

HTTP报文是简单的格式化数据块,由三个 部分组成:

  • 对报文进行描述的起始行(start line)
  • 包含属性的首部(header)块
  • 可选的,包含数据的主体(body)部分,可以包含文本或二进制数据,也可以为空
    HTTP报文的组成成分

报文的语法

所有的HTTP报文都可以分为两类,请求报文和响应报文。
请求报文格式如下:

<method> <request-URL> <version>
<headers>
<entity-body>
  • 方法:HTTP中定义了一组常用的请求方法,告知服务器要做什么事情
  • 请求URL:命名了所请求资源

响应报文格式如下:

<version> <status> <reason-phrase>
<headers>
  <entity-body>
  • 状态码:描述请求过程中所发生的情况,告诉客户端,发生了什么事
  • 原因短语: 数字状态码的可读版本

报文的其他组成详情:

  • 版本号:为使用HTTP的应用程序提供一种线索,以便相互了解对法的能力和报文格式
  • 首部:名/值对的列表
  • 主体部分: HTTP要传输的内容

方法(method)

  • GET:通常用于请求服务器发送某个资源
  • HEAD: 通常用于请求服务器在响应中返回首部,不会返回实体的主体部分,这样可以了解资源情况,判断其是否村子,查看其是否被修改
  • PUT:向服务器写入文档,让服务器用请求的主体部分来创建一个所请求的URL命名的新文档
  • POST: 向服务器中输入数据,通常用它来支持HTML的表单
  • TRACE: 客户端发起请求后,请求可能要穿过防火墙,代理,网关等,每个中间节点都有可能会修改原始的HTTP请求,TRACE允许客户端在最终将请求发送给服务器时,看看它变成了什么样子
  • OPTIONS:询问服务器通常支持哪些方法
  • DELETE:请求服务器删除请求URL所指定的资源

状态码

  1. 100~199:信息性状态码
  2. 200~299:成功状态码
  3. 300~399:重定向状态码
  4. 400~499: 客户端错误状态码
  5. 500~599:服务器错误状态码
原文地址:https://www.cnblogs.com/quxikun/p/8477929.html