токен x-gzip в заголовке принимаемой кодировки

327
NanoPish

На странице Content-Encoding веб-документов MDN говорится, что токен x-gzip является псевдонимом gzip в заголовке http Content-Encoding.

Но страница принятия кодировки не упоминает об этом.

Есть ли список заголовков по версиям браузера или версии системы, использующей x-gzip? Откуда этот псевдоним?

Допустимо ли использование x-gzip в Accept-Encoding?

1

1 ответ на вопрос

1
grawity

Это законно (хорошо, это было законно) как в использовании, так и в спецификации.

x- является общим префиксом для нестандартных (или «еще не стандартных») идентификаторов, часто явно разрешенных протоколами, часто де-факто соглашением разработчиков.

Так x-gzipраньше было широко распространен в HTTP / 1.0 и первоначально означал, что формат пока не имеет имени, введенное в официальное оглавление кодировок, поддерживаемых IANA (если таблица еще не существовала тогда). Например, Opera 4 или 5 использовали для отправки этого токена.

gzipМаркер был сделан стандарт, так как HTTP / 1.1, и в самом деле HTTP / 1.1 спецификация говорит, что x-gzipявляется приемлемым псевдонимом для совместимости - это, конечно, не то, что MDN только что сделал.

Тем не менее, большим недостатком этого соглашения является то, что после стандартизации названия старая x-версия все еще остается в течение десятилетий, и программное обеспечение должно поддерживать и то, и другое. Часто вновь написанная документация намеренно пропускает старые псевдонимы, чтобы не рекомендовать их использование. Смотрите также RFC 6648, в котором обсуждается история и даже упоминает этот точный маркер в Приложении B .

Спасибо за Ваш ответ. Эти ссылки rfc полезны и интересны. Вы уверены, что это допустимо в кодировке принятия, а не только в кодировке контента (источник упоминает об этом?). Я не могу найти распространенные версии браузеров, которые его отправляют, только сканеры и боты. NanoPish 5 лет назад 0
Все `x-` токены являются "законными" в том смысле, что протокол позволяет им. И если данная кодировка является допустимой в Content-Encoding ответа, это подразумевает, что она также допустима и в Accept-Encoding запроса (поскольку сервер не может использовать кодировку, которую клиент не запрашивал!). Обычные браузеры больше не отправляют `x-gzip` - это пережиток далекого прошлого. (см. последнее редактирование). grawity 5 лет назад 1
Если вы хотите быть конкретным, посмотрите RFC 2616 или RFC 7231 и обратите внимание, что HTTP напрямую не определяет значения ни одного из этих заголовков - вместо этого он определяет группу токенов «контент-кодирования», а определения синтаксиса обоих заголовков просто ссылка "контент-кодирование". Основным источником разрешенных токенов является [реестр IANA] (https://www.iana.org/assignments/http-parameters/http-parameters.xhtml#content-coding), а таблицы в MDN & c. являются вторичными источниками. grawity 5 лет назад 1
Исправление: я думаю, что я ошибался, говоря, что HTTP явно разрешает токены `x -...` (хотя есть много других протоколов, которые это делают). Тем не менее, он разрешает `x-gzip` специально. grawity 5 лет назад 1

Похожие вопросы