Skip to content

Latest commit

 

History

History
171 lines (95 loc) · 4.89 KB

3-HTTP报文.md

File metadata and controls

171 lines (95 loc) · 4.89 KB

HTTP报文

报文流

http 使用术语流入和流出描述事务处理的方向。报文流入端服务器,工作完成之后,会流回用户的 Agent 代理中

Image text

http 报文会像河水一样流动。

Image text

报文的组织部分

报文由三个部分组成,起始行,头部,以及可选的主体部分。所有的报文分两种:请求报文,响应报文

请求报文格式:

响应报文格式:

  1. 请求行,包含一个方法,一个请求方的URL和HTTP版本号。
  2. 响应行,包含版本号,状态码,原因短语。
  • 首部分类
  1. 通用首部,既可以出现在请求报文中,也可以出现在响应报文中。
  2. 请求首部,提供更多有关请求的信息。
  3. 响应首部,提供更多有关响应的信息。
  4. 实体首部,描述主体的长度和内容,或者资源自身。
  5. 扩展首部,规范中每定义的新首部。

方法

  • HTTP 定义的一组常用的方法,通过语义化的方式规范请求的动作。
方法 描述 是否包含主体
GET 从服务器获取一份文档
HEAD 只从服务器获取文档头部
POST 向服务器发送需要处理的数据
PUT 将请求的主体部分存储到服务器上
TRACE 对可能经过代理服务器传输的服务器上去的报文进去跟踪
OPTIONS 决定可以在服务器上执行哪些方法
DELETE 从服务器上删除一份文档
  • GET 方法和 HEAD 方法都是被认为是安全的,不产生动作,只是向服务器端获取文档数据。HEAD 不同事的只返回文档头部。

  • POST 方法起初是用的向服务器输入数据的,通常会用来支 HTML 的表单。

  • PUT 方法修改服务器的的数据。PUT 方法会向服务器文档写入文档数据。让服务器用请求的主体部分创建一个新文档,或者 URL 已经存在就覆盖原先的数据(修改)

  • TRACE 方法,客户端发起一个请求时,这个请求可以能要穿过防火墙、代理、网关或者其他一些应用程序。每个中间节点的可能会修改原始 HTTP 请求。 TRACE 请求会目的服务器发起一个“环回”诊断。

Image text

  • OPTIONS 方法请求 web 服务器告知其支持的各种功能。

  • DELETE 方法所做的事情就是请服务器删除请求 URL 所指定的资源。

状态码

  • 100 ~ 199 信息性状态码

Image text

  • 200 ~ 299 成功状态码

Image text

  • 300 ~ 399 重定向状态码

Image text

Image text

  • 400 ~ 499 客户端错误状态码

Image text

Image text

  • 500 ~ 599 服务器错误状态码

Image text

Image text

首部

首部和方法配合工作,共同决定客户端和服务器能做什么事情。

通过首部

有些首部提供了与报文相关的基本的信息,它们被称为通用首部。

Image text

Image text

请求首部

请求首部只是在请求报文中出现的首部。

Image text

Accept 首部

Accept 首部为客户端提供了一种将其喜好和能力告知服务器的方法

Image text

条件请求首部

有是客户端希望为请求加上某些限制。

Image text

安全请求首部

HTTP 本身就支持一种简单的机制,可以对请求进行质询/响应认证。这种机制要求客户端在获取特定的资源之前,先对自身进行认证。

Image text

代理请求首部

代理服务器上用的首部

Image text

响应首部

只出现在响应报文中的首部

Image text

协商首部

如果资源有多种表示方式,HTTP/1.1 可以为服务器和客户端提供对资源进行协商的能力。

Image text

安全响应首部

HTTP 的质询/响应认证机制的响应侧

Image text

实体首部

用描述 HTTP 报文载荷部分(主体部分)的头部

Image text

内容首部

内容首部提供了与实体内容相关的特定信息

Image text

实体缓存首部

通用的缓存首部说明了如何或什么时候进行缓存。实体的缓存首部提供了与被缓存实体有关的信息。

Image text