Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP的版本是由webserver定义的1.0还是1.1?HTTP协议定义是如何工作的?_Http_Get_Http Headers_Protocols - Fatal编程技术网

HTTP的版本是由webserver定义的1.0还是1.1?HTTP协议定义是如何工作的?

HTTP的版本是由webserver定义的1.0还是1.1?HTTP协议定义是如何工作的?,http,get,http-headers,protocols,Http,Get,Http Headers,Protocols,我有一个简短的问题,但我已经提前阅读了RFC2616第14.22章关于主机和HTTP头的内容,但我仍然不明白应该在httpd.conf或Web服务器的配置文件中的什么地方进行更改?如果我错了,请纠正我 看看我对Apache所做的以下两个HTTP GET。第一个是HTTP 1.0的GET,另一个是HTTP 1.1的GET。请参见输出: HTTP/1.0 200 OK Date: Thu, 24 Oct 2013 03:46:22 GMT Server: Apache/1.3.41 (Unix) m

我有一个简短的问题,但我已经提前阅读了RFC2616第14.22章关于主机和HTTP头的内容,但我仍然不明白应该在httpd.conf或Web服务器的配置文件中的什么地方进行更改?如果我错了,请纠正我

看看我对Apache所做的以下两个HTTP GET。第一个是HTTP 1.0的GET,另一个是HTTP 1.1的GET。请参见输出:

HTTP/1.0 200 OK
Date: Thu, 24 Oct 2013 03:46:22 GMT
Server: Apache/1.3.41 (Unix) mod_gzip/1.3.26.1a PHP/5.2.9 mod_throttle/3.1.2                 mod_psoft_traffic/0.2 mod_ssl/2.8.31 OpenSSL/0.9.8b
Vary: *
Last-Modified: Fri, 10 Aug 2012 20:22:30 GMT
ETag: "17c815b-3b-50256d86"
Accept-Ranges: bytes
Content-Length: 59
Connection: close
Content-Type: text/html

<html>
<body>
<center>webli7</center>
</body>
</html>

HTTP协议版本是动态决定的,而不是通过配置文件决定的。客户端发送一个请求,指定其支持的最高协议版本。然后,服务器必须使用客户机请求的版本或其首选的任何早期版本进行响应

由于Apache支持HTTP/1.1,因此它应该与客户端提供的版本完全匹配

您可以在Apache的配置中设置一个标志,强制Apache在某些情况下使用HTTP/1.0,即使浏览器请求HTTP/1.1。这用于修复HTTP/1.1处理某些非常旧的浏览器时出现的错误。今天,你不需要玩这面旗子


至于您的错误,我建议您确保GET确实提供Host:header。此标头在HTTP/1.1中是必需的,但在HTTP/1.0中是可选的,丢失它肯定会导致400错误。

您可以发布GET请求吗?如果有什么不同的话,HTTP/1.1应该工作得更好,因为它理解更多的头和方法类型。
HTTP/1.1 400 Bad Request
Date: Thu, 24 Oct 2013 04:04:40 GMT
Server: Apache/1.3.41 (Unix) mod_gzip/1.3.26.1a PHP/5.2.9 mod_throttle/3.1.2 mod_psoft_traffic/0.2 mod_ssl/2.8.31 OpenSSL/0.9.8b
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

16e