Я пишу некоторый код, который анализирует HTTP-запросы и ответы, но он может не видеть обе стороны каждого разговора.
HTTP RFC утверждает, что запрос HEAD
должен вызывать точно такой же ответ, что и GET
, за исключением того, что тело сообщения не отправляется. Кажется, это подразумевает, что заголовок Content-Length
будет включен.
Если используется HTTP Pipelining , я не вижу, как бы вы надежно проанализировали конвейерный ответ на HEAD
, не увидев запрос; заголовки не будут правильно указывать длину ответа, нет Transfer-Encoding
, и соединение не обязательно будет закрыто в конце.
Есть идеи? Может ли кто-нибудь увидеть какие-либо другие типы ответов, которые не могут быть проанализированы без просмотра запроса?