Возможен ли постоянный HTTP с HTTP / 1.0? - PullRequest
1 голос
/ 25 августа 2009

Я использую соединение 3G UMTS. Я пытаюсь реализовать HTTP туннелирование на мой сервер который прослушивает порт 80 (это делается для того, чтобы обойти межсетевой экран клиента). Проблема в том, что прокси-сервер провайдера поддерживает HTTP / 1.0, который не поддерживает постоянное соединение HTTP.

В результате после одной итерации запроса / ответа http между моим клиентом / сервером прокси-сервер провайдера разрывает базовое 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 ]

3 голосов
/ 25 августа 2009

Вы всегда можете использовать HTTPS. Вы потеряете все преимущества, предлагаемые прокси-серверами (например, кэширование), но все ваши HTTP-заголовки будут доставлены на сервер именно так, как вы их отправили.

1 голос
/ 25 августа 2009

HTTP 1.0 прокси (который, кажется, использует ваш провайдер) не должен использоваться в связи с Connection: Keep-Alive для постоянных соединений Причины этого изложены в RFC-2068 (раздел 19.7.1). Короткая версия, по сути, заключается в том, что ваш сервер отправляет недопустимый заголовок для используемого вами типа прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...