HTTP / 1.0仍在使用吗?

时间:2010-01-15 17:07:24

标签: http backwards-compatibility

假设一个是编写HTTP服务器/客户端,支持HTTP / 1.0有多重要?它现在仍然在任何地方使用吗?

编辑:我不太关心HTTP / 1.0的有用性/重要性,而是实际将其用于非内部的软件的数量(单元测试)在内部使用,例如在现实世界中的目的(浏览器,机器人,智能手机/愚蠢电话......等)。

7 个答案:

答案 0 :(得分:12)

wget使用HTTP / 1.0,它仍然相对流行(尽管它支持一些HTTP / 1.1功能,如Host:标头,这是访问任何虚拟主机所必需的。)< / p>

答案 1 :(得分:11)

截至2016年,您会认为自1999年引入1.1以来,突出性将会下降更多,所以这大约是17年。

我检查了7,727,198行日志,看看我获得HTTP/1.0HTTP/1.1的百分比:

 Protocol    Counts      Percent
--------------------------------
HTTP/0.9            0     0.00%
HTTP/1.0    1,636,187    21.17%   (all)
HTTP/1.0       15,415     0.20%   (without the obvious robots)
HTTP/1.1    6,091,011    78.83%
HTTP/2              0     0.00%

从我所看到的情况来看,大多数HTTP/1.0来自机器人。所以我试图删除显然是这样的条目(即代理包括机器人,机器人,slurp等)。

所以看起来最终用户仍然坚持HTTP/1.0的数量今天非常有限(0.2%)。但是,如果您想让机器人检查您的网站,您可能需要/希望保持HTTP / 1.0正常运行。大多数人都会包含Host: ...标题,即使他们将其连接宣传为HTTP/1.0协议。

此外,HTTP/1.0HTTP/1.1之间的差异在实施方面非常模糊。大多数人都很乐意混合两者。我不会过分担心仍然接受/处理HTTP/1.0请求。

在另一台服务器上,我开始看到HTTP/2.0个请求看起来像这样(得到了2427,我看到了34,161,268 HTTP/1.0HTTP/1.1个请求,所以0.007%):

PRI * HTTP/2.0

答案 2 :(得分:9)

相当数量的服务器会故意返回HTTP / 1.0响应,因为一些(较旧的)浏览器将为HTTP / 1.0服务器提供比HTTP / 1.1持久连接强加的2连接限制更高的连接限制。

但一般来说,大多数“HTTP / 1.0”实现实际上只是HTTP / 1.1实现的略有限制的版本,并且许多HTTP / 1.1实现并不真正支持该版本的某些功能(例如特别是流水线技术)。

答案 3 :(得分:7)

当我远程登录到服务器以验证连接或弄清楚它无法正常工作时,我一直使用它:

$ telnet 192.168.1.1 80
GET / HTTP/1.0\r\n
\r\n

... 

(因为发出1.0请求不要求我提供任何额外的标题)。

答案 4 :(得分:7)

HTTP / 1.0在编写非常基本的客户端时非常重要,这些客户端不需要所有1.1内容的开销,例如流水线操作和1.1所需的其他复杂操作。发布请求获得响应并断开连接非常容易编码。这可能对编写只想测试应用程序功能而不是HTTP协议实现的服务器的测试用例很有用。

有许多移动浏览器和应用程序使用1.0,因为它们没有空间或需要更复杂的1.1实现,非智能手机上的非3G连接的延迟问题完全否定了1.1的任何好处特征

还有许多代理会将所有内容降级为1.0,无论客户端要求什么,然后存在IE问题。

所以简短的回答是,对于通用的HTTP服务器,1.0非常相关。

答案 5 :(得分:7)

为了其他目的而自己调查:

  

“代理,某些移动客户端和IE时正在使用HTTP / 1.0       配置为使用代理。所以1.0似乎仍然占非       整体而言,网络流量的百分比很小。       ...       是的,那里还有很多1.0客户。“

来源(2009年7月):http://groups.google.com/group/erlang-programming/msg/08f6b72d5156ef74

: - (

更新(2011年3月):

如果要构建客户端/服务器,请使客户端使用HTTP / 1.1,并使服务器接受1.1和1.0。 在进行Web开发时,让客户端尝试加载没有Host头的页面是一个PITA,因为我无法知道我应该加载哪个站点:-S 所以你最好不要建立这样的客户端; - )

答案 6 :(得分:-2)

自从我看到真正的HTTP / 1.0请求以来,IME已经很长时间了。 (包括移动设备fuzzylollipop)。

我说一个真实的请求,因为MSIE仍然(假装)默认情况下降级到HTTP / 1.0(除非配置中的yo sig)当你通过代理连接时(所有传出请求被标记为HTTP / 1.0) - 但是它仍然包含HTTP / 1.1特定请求标头并尊重所有HTTP / 1.1响应。

奇怪的是,IIS在镜像中很高兴地忽略了HTTP版本(尽管我没有对此进行过多实验,看看是否为MSIE用户代理做了这一点。)

因此,奇怪的是,MSIE和IIS在代理方面的工作要比使用符合标准的工具好得多。

下进行。