Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Влияние Content-Length на Keep-Alive в HTTP протоколе


atruhin ©   (2005-04-01 07:37:00) 

В RFC2616 - HTTP1.1 написано (в RFC по HTTP1.0 то же самое):
"If the body is being sent using a "chunked" encoding (section 3.6), a zero length chunk and empty trailer MAY be used to prematurely mark the end of the message. If the body was preceded by a Content-Length header, the client MUST close the connection."
"Если телу предшествовал заголовок Content-Length, клиент должен разорвать соединение."
Т.е. режим Keep-Alive возможен только если контент имеет самоограничивающую длинну, задано Transfer-Encoding.
Но коннект к нескольким WEB серверам, при клиентах IE6.0, Opera 8, показал, что:
1. Сервера всегда передают в заголовке Content-Length, при этом и сервер и браузер нормально работают в режиме Keep-Alive по одному соединению.
2. Анализ исходных текстов 2 прокси показал, что один обрабатывает соединение согласно RFC, т.е. при наличии Content-Length устанавливает параметр Connection: close, второй наоборот при известной длинне сообщения поддерживает Keep-Alive.
Помогите разобраться где правда, и как правильно обрабатывать Keep-Alive


atruhin   (2005-04-02 10:02:00) [1]

А что с HTTP никто не работал?


Наверх

Титульная страница Поиск, карта сайта Написать письмо