Для чего нужен индекс в статической таблице: псевдозаголовок протокола в http2? - PullRequest
3 голосов
/ 05 апреля 2019

Я делал проект, который идентифицирует соединения веб-сокетов Поскольку в HTTP2 изменился способ подключения через веб-сокет, был добавлен новый псевдо-заголовок ": протокол", как сказано в RFC8441 . Но я не могу найти индекс для этого нового псевдозаголовка в статической таблице HPACK .

Я пробовал гуглить, но информации об этом нет.

1 Ответ

4 голосов
/ 05 апреля 2019

Вы не можете добавлять записи в таблицу состояния. Первая строка в вашей ссылке HPACK (выделено мной):

Статическая таблица (см. Раздел 2.3.1) состоит из предопределенного и неизменяемого списка полей заголовка.

А также из раздела введения :

Формат HPACK преднамеренно прост и негибок. Обе характеристики снижают риск взаимодействия или проблем безопасности из-за ошибки реализации. Механизмы расширяемости не определены; изменения в формате возможны только путем определения полной замены.

Поэтому заголовок добавляется в динамическую таблицу HPACK, но без фиксированного номера индекса.

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

...