HTTP报文内的HTTP信息

HTTP报文

HTTP报文是由多行数据构成的字符串文本, 大致可分为报文首部报文主体两部分.

------------------
|     报文首部     |
------------------
|  空行(CR + LF)  |
------------------
|                |
|     报文主体    |
|                | 
------------------

请求报文和响应报文的主要区别在于请求行状态行的不同.

请求报文首部 = 请求行 + 请求首部字段 + 通用首部字段 + 实体首部字段 + 其他
响应报文首部 = 响应行 + 响应首部字段 + 响应首部字段 + 实体首部字段 + 其他

可以通过Range字段获取部分内容的范围请求

Range: bytes=5001-10000
Range: bytes=5001-
Range: bytes=-3000, 5000-7000

当Web界面有多份相同的内容时, 根据浏览器的默认语言会返回不同的界面, 例如中文版或者英文版, 这样的机制就叫做内容协商.

内容协商就是客户端和服务端对响应的资源内容进行交涉, 返回合适的内容, 具体有以下三种类型.

  • 服务端驱动协商(Server-driven Negotiation)
  • 客户端驱动协商(Client-driven Negotiation)
  • 透明协商(Transparent Negotiation)

Draveness

iOS Developer / Rails / Elixir

Maine, USA draveness.me
blog comments powered by Disqus