《HTTP权威指南》– 2.HTTP报文与URL资源

URL与资源:

大多数URL方案的URL语法都建立在这个由9部分构成的通用格式上。

  • 方案: 访问服务器以获取资源要使用哪种协议
  • 用户: 某些方案访问资源时需要的用户名
  • 密码: 用户名后面可能包含的密码,中间由 :分割
  • 主机: 资源服务器的主机名或IP地址
  • 端口: 资源服务器正在监听的端口,HTTP默认为80
  • 路径: 服务器上资源的本地名
  • 参数: 某些方案会用这个组件来指定输入参数
  • 查询: 某些方案会用这个组件来传递参数以激活应用程序
  • 片段: 一小片或一部分资源的名字

URL是可移植的、可读的、完整的、在传输过程中不能丢失信息。编码机制:用来在URL中表示各种不安全的字符,包含一个 % 。

HTTP报文:

HTTP报文是在HTTP应用程序之间发送的数据块,HTTP使用术语流入和流出来描述事物处理。

  • 1.起始行:start line
  • 2.首部块:header
  • 3.可选的数据主体:body

HTTP报文各部分简要描述:

方法(Method): 客户端希望服务器对资源执行的操作。 例:GET、HEADER、POST

请求URL(Request-URL) 命名了所请求资源,或者URL路径组件的完整URL。

版本(Version) 报文所使用的HTTP版本

状态码(Status-Code) 描述了请求过程中所发生的情况

原因短语(Reason-Phrase) 数字状态码的可读版本

首部(Header) 可以有零个或多个首部

主体部分(Entity-Body) 实体的主体部分包含一个由任意数据组成的数据块

HTTP报文首部:

  • 通用首部 : 客户端 / 服务器
  • 请求首部 : 请求报文特有的
  • 响应首部 : 响应报文有自己的响应首部集,为客户端提供了一些额外信息
  • 实体首部 : 用于应对实体主体部分的首部。比如:用实体首部来说明实体主题部分数据类型
  • 扩展首部 : 非标准首部,由应用程序开发者创建,但还未添加到HTTP规范中去
  • Appept首部 : 为客户端提供了一种将其喜好和能力告知服务器的方式,包括它们想要什么,可以使用什么以及它们不想要什么。Appept会使连接的两端都受益,客户端会得到它们想要的内容,而服务器则不会浪费时间和带宽来发送客户端不想要的东西。
  • 条件请求首部 : 有时客户端希望为请求加上某些限制
  • 安全请求首部 : HTTP本身就支持一种简单的机制,可以对请求进行质询 / 响应认证
  • 实体缓存首部 : 通用的缓存首部说明了如何或什么时候进行缓存,实体的缓存首部提供了与被缓存实体有关的信息

图灵图书 -- HTTP权威指南

豆瓣读书 -- HTTP权威指南

原文地址:https://www.cnblogs.com/duanbiaowu/p/5034996.html