LINUX.ORG.RU

Конец http-запроса


0

1

Пишу некий прототип некоего приложения на перле, работающего по http-протоколу.

Имеем для начала некий набор строк кода, которые создают серверный сокет на порту, что-то вроде 11000-го, принимают запрос от браузера(который я для отладки использую в качетве клиента), и высыпает его на стандартный ввод. И все вроде бы хорошо

GET http://yandex.ru/ HTTP/1.0
User-Agent: Opera/9.80 (X11; Linux i686; U; ru) Presto/2.6.30 Version/10.63
Host: yandex.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: yp=4294967295.cw.9403; yandexuid=1340552601288598741; fuid01=4cce74d507fd855c.xzqQDkSqH84qWGomBcxntKviTbFsTIQspmtriYpWlzNcgwFElgc63Sf35hMpLm-ZmmlHnToV0Sdpey96d1obUCpcS1gM3j-2VGhc5bA0XF5ptMvKJWyCFySwNvXj2ZoF
Cookie2: $Version=1
Proxy-Connection: Keep-Alive

Но есть одно но. Как отследить, что клиент закончил передачу заголовков и можно начать этот запрос обрабатывать. Например, в случае http-ответа, маркером конца заголовков служит двойной перевод строки. А с запросом как?

p.s. в гугле был, но так и не смог сформировать адекватный запрос, приводящий к результату.

p.p.s. в RFC просьба не посылать, вот как начну писать свой браузер или что-то столь же глобальное и надёжное - так ознакомлюсь с этим толстым трудом. Пока я только проверяю пару предположений и работоспособность идеи.

★☆☆
Ответ на: комментарий от r_asian

Отставить. Уверовал. Ибо сам виноват, несколькоми строчками выше у меня игнорируются пустые строки. А так дествительно - два перевода.

Спасибо!

r_asian ★☆☆
() автор топика
Ответ на: комментарий от anonymous

а насколько важно указывать content length в заголовке?

Важно. Иначе пацаны не поймут. Особенно при определении размера загружаемого «документа» и вычислении примерного времени закачки.

r_asian ★☆☆
() автор топика

Заголовок Proxy-Connection появился в HTTP/1.1 и то не стандартный. Странный браузер какой-то.

amomymous ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.