HTTP/1.1协议重大更新

jopen 10年前

新的标准更易懂,易读,对原来语义模糊的部分进行了解释。核心被分为6个单独文档,原来只有2个,即RFC 2616和RFC 2617

此次改动的不完全清单:

  1. 对如何处理不应该出现的空格进行了规定,将能修复HTTP Response Splitting漏洞
  2. 每服务器两个连接的限制被移除
  3. 不再支持HTTP/0.9
  4. 默认编码不再是ISO-8859-1
  5. 服务器不再被强制要求处理所有Content-*请求头内容
  6. PUT请求头禁止使用Content-Range
  7. 如果引用页不存在,建议在请求头里使用 about:blank这个URI,以便对“没有引用页”和“我不想发送引用页”加以区别
  8. 状态码204, 404, 405, 414 和501现在可以缓存了(cachable)
  9. 状态码301和302现在允许用户代理(user-agent)将请求方式从POST改为GET。虽然原标准不允许,但人们其实早就在这样做了,标准适应现实,这是个很好的例子。
  10. 请求头的Location现在可以包含相对URI和片段标识符(fragment identifiers)
  11. Content-MD5被移除

附上新的标准清单:

* RFC7230 - HTTP/1.1: Message Syntax and Routing - low-level message parsing and connection management
* RFC7231 - HTTP/1.1: Semantics and Content - methods, status codes and headers
* RFC7232 - HTTP/1.1: Conditional Requests - e.g., If-Modified-Since
* RFC7233 - HTTP/1.1: Range Requests - getting partial content
* RFC7234 - HTTP/1.1: Caching - browser and intermediary caches
* RFC7235 - HTTP/1.1: Authentication - a framework for HTTP authentication

阅读原文 »

来自:http://top.jobbole.com/356/