HTTP/1.1协议更新:RFC 2616遭废弃

2018-07-13 08:55:25来源:编程学习网 阅读 ()

新老客户大回馈,云服务器低至5折

 HTTP/1.1协议更新:RFC2616遭废弃

  近日,IETF更新了HTTP/1.1协议,这是10多年来HTTP/1.1协议的首次重大更新。组织者将原来的RFC 2616拆分为六个单独的协议说明,并重点对原来语义模糊的部分进行了解释,新的协议说明更易懂、易读。新的协议说明包括以下六部分:

  • 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

  早在2007年,IETF内部就成立了名为HTTPbis的工作小组来完成对HTTP/1.1的修订,他们的目标是让HTTP/1.1协议规范更加清晰易读,而不是添加新特性或者升级协议。在整个协议的修订过程中,小组成员共发布了26个草稿版本,修改次数超过2600次,处理了550多个问题。在文档整理过程中,HTTPbis也对HTTP/1.1协议的一些不合理或者不安全的地方进行了改进,Evert在其博客上总结了此次更新中的一些重大变化:

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

  更多详细的改进内容请读者阅读RFC中的Changes from RFC 2616部分。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:IE6/IE7下不识别inline-block的解决方案

下一篇:一篇学习HTTP状态码的神文:我与依依的橙色岁月

热门词条
热门标签