2009-07-06 4 views
3

Я прочитал некоторые статьи о кометах. Все они упоминали, что долговременный HTTP-ответ должен быть Transfer-Encoding: chunked. Мне интересно, почему это должно быть закодировано. Если ответ не закодирован, клиентский javascript все еще может читать и анализировать отредактированный текст, верно?Почему комета нуждается в реакции кодирования с кодировкой?

Есть ли какая-либо особая причина, по которой кометный ответ должен быть закодирован?

ответ

7

Ответ на кодирование с чередованием используется, когда длина ответа неизвестна до тех пор, пока ответ не будет завершен. Пустой фрагмент указывает конец ответа. Это единственный способ, по которому клиент может быть уведомлен о завершении ответа.

Все это прекрасно сочетается с кометами. Вы отправляете первый кусок при получении запроса. Вы также можете отправить дополнительные «биения сердца» в ожидании завершения действия. Пустой кусок уведомит клиента о завершении ответа.