Существуют различные опции, которые клиент может использовать для отправки заголовков в HTTP / 2, как определено в спецификации HPACK .Они в основном говорят, использовать ли ранее упомянутый заголовок, сохранять ли заголовок для последующей ссылки, никогда не сохранять заголовок для повторного использования ... и т. Д.Клиент решает, какой из них использовать для отправляемых им заголовков.
В HTTP / 2 URL-адрес отправляется в псевдо-заголовке :path
, поэтому в отличие от HTTP / 1.1 он такой же, как и любой другой заголовок HTTPтак можно сжать.Однако, как правило, URL не повторяется часто, поэтому он будет отправлен как Literal Header Field without Indexing
, что означает, что это однократный заголовок, поэтому не храните его для повторного использования.Конечно, так как это HTTP-заголовок, очень похожий на любой другой, ничто не мешает HTTP / 2-клиенту отправлять это как индексированный тип, но веб-браузеры вряд ли смогут это сделать, так что это, вероятно, действительно вариант для пользовательских клиентов.
Кстати, если вы хотите узнать больше об этом и найти спецификацию немного трудной для понимания, тогда моя книга HTTP / 2 в действии более подробно рассматривается в главе8.