Этот вопрос расценивает порядок очередности для типов среды HTTP-заголовка "Принятый закодированный", когда все имеют равный вес, и был запрошен этим комментарием к моему блогу.
Принятый закодированный заголовок берет список разделенных запятой значений типов среды, которые браузер может принять, например, gzip, выкачать
Добротность может также быть указана для предоставления предпочтения другим типам среды, например, в случае "gzip; q =. 8, выкачайте", выкачайте, предпочтен - но не относится к этому вопросу. NB: тип с "q=0" означает "не приемлемый".
RFC2616 также указывает, что "самая определенная ссылка" для определения типа среды должна быть взвешена сначала. т.е. "текст/HTML; level=1" должен использоваться по "тексту/HTML" - это не относится к вопросу также.
В следующем случае, какой тип среды имеет приоритет?
Accept-Encoding: gzip,deflate
Оба типа имеют эквивалентную добротность 1, и оба типа "приемлемы" для браузера - таким образом, любой мог использоваться. Я всегда предполагал, что первый вводимый тип должен быть "предпочтен", но там, кажется, не определенный пример или предпочтение этого конкретного случая в RFC.
Я полагаю, что где-то в RFC или в родственном RFC говорится, что первый предпочтительнее для всех полей этого формата.
Однако в особом случае gzip vs deflate вам, вероятно, следует использовать deflate, если это возможно из-за меньших накладных расходов (меньше верхних и нижних колонтитулов, и хотя у него все еще есть контрольная сумма adler32, у него нет crc32 наверху ). В остальном они точно такие же. Фактические данные сжимаются одинаково для обоих. Это означает, что выкачивание происходит быстрее и дает меньший результат. Оба они становятся гораздо более важными на странице с большой нагрузкой. Большинство дополнительных заголовков в gzip - это такие вещи, как права доступа к файлам в стиле unix, которые в любом случае бесполезны в этом контексте.
На самом деле, клиенты должны хотеть обслуживать gzip из-за надежности, а серверы должны хотеть обслуживать сжатие из-за производительности. Дополнительные накладные расходы гораздо важнее, когда они происходят тысячи раз в секунду, чем когда они происходят один раз для каждой загружаемой страницы.
На своих сайтах я сначала проверяю deflate и использую его, если могу, затем проверяю gzip. Если я не могу использовать ни то, ни другое, я просто отправляю обычный текст. Я не знаю, какой язык вы используете, но для этого нужно около пяти строк ASP.NET.
Здесь нет предпочтений на стороне клиента. Просто выберите то, что вы (сторона сервера) предпочтете.