Что такое допустимые расширения чанков?

RFC 7230 определяет фрагментированное кодирование и указывает:

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

Но я не могу найти список этих расширений, может кто-нибудь знает, где его найти?


person Jeff Bencteux    schedule 22.03.2016    source источник


Ответы (1)


Расширения чанков не определены заранее. Вы добавляете пользовательские расширения в соответствии с вашими требованиями к реализации.

Вот цитата из Википедии о том, как его форматировать:

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

Ссылка на вики: https://en.wikipedia.org/wiki/Chunked_transfer_encoding

person Sal    schedule 29.01.2018
comment
Спасибо. Я, должно быть, неправильно прочитал RFC 7230, потому что в разделе 4.1.1 также говорится об этом: фрагментированное кодирование специфично для каждого соединения и, вероятно, будет удалено или перекодировано каждым получателем (включая посредников) до того, как какое-либо приложение более высокого уровня получит шанс для проверки расширений. Следовательно, использование расширений фрагментов обычно ограничивается специализированными службами HTTP, такими как длительный опрос (где у клиента и сервера могут быть общие ожидания относительно использования расширений фрагментов) или для заполнения в сквозном защищенном соединении. - person Jeff Bencteux; 30.01.2018
comment
Да, из этого сегмента я понял, что в основном все, что находится между сервером: прокси, брандмауэр, балансировщик нагрузки и т. д., скорее всего, не будет уважать ваши расширения фрагментов, передавая их, поэтому они потеряются раньше, чем когда-либо. дойти до клиента. - person Sal; 07.02.2018