Поведение прокси/шлюза, если данные ответа HTTP превышают длину содержимого

Как должны вести себя прокси/шлюзы, когда http-серверы отправляют HTTP-ответ, в котором размер данных превышает длину содержимого? Отбросить его как несоответствие RFC — это один из способов, но похоже, что сегодня существует довольно много реализаций/развертываний с таким поведением, и это изменение в конечном итоге приведет к нарушению этих URL-адресов.

Буду очень признателен за любые идеи / указатели.

Спасибо, Дев


person Devendra Badhani    schedule 17.07.2013    source источник


Ответы (1)


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

Если нет невыполненного запроса, соответствующего этому ответу, см. http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-26#section-3.3.3

   If the final response to the last request on a connection has been
   completely received and there remains additional data to read, a user
   agent MAY discard the remaining data or attempt to determine if that
   data belongs as part of the prior response body, which might be the
   case if the prior message's Content-Length value is incorrect.  A
   client MUST NOT process, cache, or forward such extra data as a
   separate response, since such behavior would be vulnerable to cache
   poisoning.
person Mark Nottingham    schedule 20.02.2014