我想关闭支持HTTP/1.0
在我的网络服务器上。这些服务器托管常规网站 (MVC.NET)。
- 潜在的负面影响是什么?
- 有哪些重要的互联网服务
HTTP/1.0
是我应该注意的?
答案1
HTTP/1.1 于 20 年前的 1997 年 1 月推出。每个现代浏览器都使用它,因此禁用对 HTTP/1.0 的支持不会影响任何实际用户。一些网络爬虫似乎声称他们正在使用HTTP/1.0
,但由于这些也出现在虚拟主机(HTTP/1.0 不支持)的日志中,我怀疑它们是否应该完全能够使用 HTTP/1.1。
有关差异的简要说明,请参阅RFC 2616 19.6.1。如果你想更深入地了解,请阅读HTTP/1.0 和 HTTP/1.1 之间的主要区别。
让我们回到主要区别之一,第一段中已经提到的虚拟主机:
例如,如果用户对 URL 上的资源发出请求
http://example1.org/home.html
,浏览器将发送一条带有请求行的消息GET /home.html HTTP/1.0
到 的服务器
example1.org
。这可以防止将另一个 HTTP 服务器主机名(例如,绑定到相同的 IP 地址)绑定exampleB.org
,因为接收此类消息的服务器无法判断该消息是发往哪个服务器的。因此,虚荣 URL 的激增导致 IP 地址分配的激增。负责管理 IETF 流程的互联网工程指导小组 (IESG) 坚持要求 HTTP/1.1 采取措施改善 IP 地址的保护。由于 HTTP/1.1 必须与 HTTP/1.0 互操作,因此它无法更改请求行的格式以包含服务器主机名。相反,HTTP/1.1 要求请求包含一个
Host
标头,该标头由 John Franks [Fra94] 首次提出,其中包含主机名。这将上述示例转换为:GET /home.html HTTP/1.1 Host: example1.org
如果 URL 引用了默认端口 (TCP 端口 80) 以外的端口,则该端口也会在 Host 标头中提供。
如今虚拟主机如此普遍,以至于实际上缺少虚拟主机的情况非常罕见。看看您是否可以通过域名和 IP 地址获得相同的页面。如果没有,那么您已经没有以任何实际方式完全支持 HTTP/1.0;放弃它并不是一个根本性的改变。