BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 郭蕾 关注 9 他的粉丝 发布于 2014年6月10日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

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部分。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

聊胜于无 无关痛痒 by 周 智伟

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT