2

要求:

POST / HTTP/1.0
Content-Type: text/xml; charset=UTF-8
User-Agent: Axis2
Host: localhost:8000
Content-Length: 539

来自tomcat的回复:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Date: Sat, 19 Oct 2013 00:28:57 GMT
Connection: close

从tomcat网站上说:

如果客户端(通常是浏览器)仅支持 HTTP/1.0,连接器也会优雅地回退到支持该协议。启用此支持不需要特殊配置。

Tomcat 如何优雅地回退到 HTTP 1.0?在我的示例中,它仍然回复 HTTP 1.1。谁能给我解释一下?

4

1 回答 1

5

协议版本表示发送方的协议能力。它没有指定响应本身的版本。所以只要响应可以被 HTTP 1.0 客户端理解,Tomcat 就在做它应该做的事情。

这一切都在RFC2616中......

编辑:它甚至在Tomcat 文档本身中,就在您引用的部分之后:

此连接器支持 HTTP/1.1 协议的所有必需功能,如 RFC 2616 中所述,包括持久连接、流水线、期望和分块编码。如果客户端(通常是浏览器)仅支持 HTTP/1.0,连接器也会优雅地回退到支持该协议。启用此支持不需要特殊配置。连接器还支持 HTTP/1.0 keep-alive。

RFC 2616 要求 HTTP 服务器始终以它们声称支持的最高 HTTP 版本开始其响应。因此,此连接器将始终在其响应的开头返回 HTTP/1.1。

于 2013-10-19T01:54:23.257 回答