HTTP / 1.1

示例

HTTP / 1.1最初是在1999年在RFC 2616(协议)和RFC 2617(身份验证)中指定的,但是现在这些文档已过时,不应用作参考:

不要使用RFC2616。从硬盘驱动器,书签中将其删除,并刻录(或负责地回收)打印出的所有副本。

— HTTP WG主席Mark Nottingham

新的RFC 723x中最新的HTTP / 1.1规范与当今的HTTP实现方式相匹配:

  • RFC 7230:消息语法和路由

  • RFC 7231:语义和内容

  • RFC 7232:条件请求

  • RFC 7233:范围请求

  • RFC 7234:缓存

  • RFC 7235:身份验证

添加了HTTP / 1.1,以及其他功能:

  • 分块传输编码,使服务器能够可靠地发送未知大小的响应,

  • 持久的TCP / IP连接(在HTTP / 1.0中是非标准扩展),

  • 用于恢复下载的范围请求,

  • 缓存控制。

HTTP / 1.1尝试引入流水线,该流水允许HTTP客户端通过一次发送多个请求而无需等待响应来减少请求-响应延迟。不幸的是,此功能从未在某些代理中正确实现,导致流水线连接丢弃或重新排序响应。

GET / HTTP/1.0
User-Agent: example/1
Host: example.com

HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 6
Connection: close

Hello