是否可以使用HTTP / 1.0持久化HTTP?

时间:2009-08-25 07:43:31

标签: http proxy

我正在使用3G UMTS连接。我正在尝试实现到我的服务器的HTTP隧道 它侦听端口80(这是为了绕过客户端的防火墙)。问题是ISP的代理服务器支持不支持持久HTTP连接的HTTP / 1.0。

结果,在我的客户端/服务器之间进行一次http请求/响应迭代之后,ISP的代理断开了底层的TCP连接。

我的客户端收到以下HTTP响应:

HTTP/1.0 200 OK  
Content-Type: application/octet-stream  
Content-Length: yyy  
X-Cache: MISS from ipmr5  
Proxy-Connection: close 
Content data

当我的服务器实际发送时:

HTTP/1.1 200 OK  
Connection: Keep-Alive  
Content-Type: application/octet-stream  
Content-Length: yyy  
Content data

有解决方法吗?

2 个答案:

答案 0 :(得分:3)

您可以随时使用HTTPS。您将失去代理提供的任何好处(例如缓存),但所有HTTP标头都将完全按照您发送的那样到达服务器。

答案 1 :(得分:1)

HTTP 1.0代理(您的ISP似乎使用它)不应该与Connection:Keep-Alive一起用于持久连接。 RFC-2068(第19.7.1节)概述了其原因。简而言之,就是您的服务器正在为您正在使用的代理类型发送无效的标头。