Подтвердить что ты не робот

Передача-кодирование: chunked

Я пытался понять больше на Transfer-Encoding:chunked. ссылались на некоторые статьи: http://zoompf.com/blog/2012/05/too-chunky и "Transfer-Encoding: chunked" заголовок в PHP.

Я до сих пор не получил очень четкой картины. Я понимаю, что установка этой кодировки позволяет серверу устанавливать содержимое в куске в браузере и вызывать частичную визуализацию контента за раз, что делает веб-сайт отзывчивым.

Если у меня есть веб-приложение, которое обслуживает динамический контент (например, веб-приложение на основе JSF), размещенное на IBM WAS, большинство веб-страниц предназначены для богатого статическим содержимым с большим количеством файлов CSS и JS + динамического контента. Как я могу установить кодировку передачи "chunked" для моих страниц? Или другими словами:

  • Как вы решаете, какая страница будет иметь 'Transfer-Encoding: chunked' и как вы ее установите для этой страницы?

Ваш личный опыт, безусловно, будет ценным для моего понимания.

4b9b3361

Ответ 1

Transfer-Encoding: chunked не требуется для прогрессивного рендеринга. Однако это необходимо, когда общая длина содержимого неизвестна до отправки первых байтов.

Ответ 2

Когда серверу требуется отправить большой объем данных, серверное кодирование используется сервером, поскольку он точно не знает, насколько велика (длина) данных. В терминах HTTP, когда сервер отправляет ответ, заголовок Content-Length пропускается сервером. Вместо этого сервер записывает длину текущего фрагмента в шестнадцатеричном формате, за которым следует \r\n, а затем фрагмент, за которым следует \r\n (содержимое начинается с размера блока в шестнадцатеричном формате, за которым следует фрагмент)

Эта функция может использоваться для прогрессивного рендеринга; однако серверу необходимо как можно больше очистить данные, чтобы клиент мог последовательно создавать контент (в случае html, css и т.д.)

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

Документация Mozilla