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在其博客上总结了此次更新中的一些重大变化:
- 对如何处理不应该出现的空格进行了规定,将修复HTTP Response Splitting漏洞
- 移除每个服务器两个连接的限制
- 不再支持HTTP/0.9
- 默认编码不再是ISO-8859-1
- 服务器不再被强制要求处理所有Content-*请求头内容
- PUT请求头禁止使用Content-Range
- 如果请求头中Referer不存在,建议使用about:blank,以便对“没有Referer”和“我不想发送Referer”加以区别
- 状态码204, 404, 405, 414 和501现在可以缓存了(cachable)
- 状态码301和302现在允许用户代理(user-agent)将请求方式从POST改为GET。虽然原标准不允许,但其实人们早就在这样做了,标准迎合现实,这就是个很好的例子。
- 请求头的Location现在可以包含相对URI和片段标识符(fragment identifiers)
- Content-MD5被移除
相关推荐
例如,HTTP/1.1的规范最初在rfc2616中定义,后来被rfc7230至rfc7235系列替代。 7. **RFC与互联网标准**:RFC是互联网标准制定过程的关键环节,通过IETF的审查和社群反馈,一些RFC最终会成为互联网官方标准,影响...
尽管HTTP/2提供了新特性和优化,但它并不废弃HTTP/1.1的消息语法,保持了HTTP协议现有的语义不变。 HTTP/2协议概述中提到了几个关键的概念和术语: 1. 文档组织:RFC 7540标准对文档的组织结构进行了说明,便于...
RFC2616已被RFC2068更新,而RFC2068本身已被废弃。标准化过程遵循一定的标准路线协议,即“因特网官方协议标准”(STD1)。 4. HTTP协议的特点: - 通用性:HTTP不仅可以用于超文本用途,还可以用于其他如名称...
少放一些私货有一些更细节的接口设计方面的我自己的想法,全是私货目录HTTP协议HTTP / 1.1 2014年6月的时候IETF已经正式的废弃了 ,将其分割为六个单独的协议说明,并重点对原来语义模糊的部分进行了解释: RFC 7230...
Internet-Drafts的有效期最长为六个月,在此期间可能会被更新、替换或废弃。 HTTP/2.0 RFC文档的编写者包括了来自不同组织的成员,如Google, Inc.和Mozilla的代表,这表明了该协议的开发和标准化过程涉及了互联网...
3. HTTP/1.1:Http 协议的第二个正式版本,由 RFC 2616 定义,是目前最常用的版本。 Http 协议的发展历史可以追溯到 1990 年代,当时 Tim Berners-Lee 等人提出了 Http 协议的草案。随着互联网的发展,Http 协议也...
文档可能随时被其他文件更新、替换或废弃。互联网草案是作为一个正在进行中的工作状态的草案文档,而并非是一个固定或最终的标准。因此,在引用互联网草案时需要注意它的临时性和可能的不稳定性。 CGI 1.1规范在...
HTTP/2是互联网工程任务力(IETF)开发的超文本传输协议(HTTP)的第二个主要版本,正式规范在RFC 7540文档中定义。HTTP/2的设计目的是为了提高网络资源的利用效率和降低延迟感知,实现这一目标的主要手段包括引入...
RFC5246是针对传输层安全协议(TLS)的详细技术规范文档,版本为1.2。TLS协议是一种广泛应用于互联网通信的安全协议,主要目的是为了在客户端和服务器之间建立安全通信。TLS可以防止通信内容被窃听、篡改或伪造。本...
《RFC1903.pdf》是关于“简单网络管理协议(SNMPv2)”的文本约定,由SNMPv2工作小组编写,并由J. Case、K. McCloghrie、M. Rose和S. Waldbusser等人共同贡献。这份文档在1996年1月发布,替代了之前的RFC1443,被...
TLS 1.2继承并改进了之前的TLS版本(如TLS 1.1),增强了通信安全特性,废弃了一些不安全或过时的机制,同时引入了新的加密算法和加密套件。TLS 1.2广泛应用于Web浏览器与服务器之间的安全通信,是HTTPS协议中的核心...
rfc822模块提供了解析RFC822格式的电子邮件头的功能,现已废弃,推荐使用`email`模块。 **6.3 mimetools模块** mimetools模块提供了MIME类型的解析功能,现已废弃,推荐使用`email`模块。 **6.4 MimeWriter模块** ...