假设一个是编写HTTP服务器/客户端,支持HTTP / 1.0有多重要?它现在仍然在任何地方使用吗?
编辑:我不太关心HTTP / 1.0的有用性/重要性,而是实际将其用于非内部的软件的数量(单元测试)在内部使用,例如在现实世界中的目的(浏览器,机器人,智能手机/愚蠢电话......等)。
答案 0 :(得分:12)
wget
使用HTTP / 1.0,它仍然相对流行(尽管它支持一些HTTP / 1.1功能,如Host:
标头,这是访问任何虚拟主机所必需的。)< / p>
答案 1 :(得分:11)
截至2016年,您会认为自1999年引入1.1以来,突出性将会下降更多,所以这大约是17年。
我检查了7,727,198行日志,看看我获得HTTP/1.0
和HTTP/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.0
和HTTP/1.1
之间的差异在实施方面非常模糊。大多数人都很乐意混合两者。我不会过分担心仍然接受/处理HTTP/1.0
请求。
在另一台服务器上,我开始看到HTTP/2.0
个请求看起来像这样(得到了2427,我看到了34,161,268 HTTP/1.0
和HTTP/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在代理方面的工作要比使用符合标准的工具好得多。
下进行。