Сжатие HTTP-заголовка - PullRequest
7 голосов
/ 17 марта 2011

HTTP-заголовки не очень эффективны.Десятки байтов больше необходимого используются между минимальным методом и заголовками ответа.

Было ли какое-либо предложение стандартизировать двоичный или сжатый формат для HTTP?

Существует ли аналогичный стандарт помимо HTTPчто лучше подходит для интерактивных мобильных приложений?

Ответы [ 4 ]

10 голосов
/ 17 марта 2011

Как указано в Stackoverflow - Как сжать заголовки ответа HTTP? :

См. Исследовательский проект Google SPDY: Исследовательский проект Google SPDY

Из Техническая документация SPDY :

Роль сжатия заголовков

Сжатие заголовка привело к ~ 88% уменьшение размера запроса заголовки и ~ 85% сокращение размер заголовков ответа. На канал DSL с низкой пропускной способностью, в котором ссылка для загрузки всего 375 Кбит / с, запрос в частности, сжатие заголовка значительное время загрузки страницы улучшения для определенных сайтов (т.е. те, которые выпустили большое количество запросы ресурсов). Мы нашли сокращение загрузки страницы на 45 - 1142 мс время просто из-за сжатия заголовка.

4 голосов
/ 14 мая 2014

HTTP / 2.0 , в настоящее время находящийся в стадии разработки, представляет собой эволюцию SPDY, предназначенную для решения этих проблем.

В частности, он заменяет строки запроса и заголовки компактным двоичным форматом,Он добавляет средство push-уведомлений сервера и мультиплексирует потоки по одному соединению, чтобы избежать накладных расходов на несколько соединений и блокировку заголовка очереди.Существуют и другие вкусности.

Я работаю над облегченной / адаптированной реализацией C ++.

3 голосов
/ 20 декабря 2016

Это старый вопрос, и я думаю, что он нуждается в обновлении.Хотя у меня самого нет более глубокого понимания этой темы, я наткнулся на эту очень хорошую статью, которая объясняет сжатие HPACK HTTP / 2 .

Короче говоря:

SPDY был уязвим для атаки CRIME, поэтому никто не использовал его сжатие заголовков. HTTP / 2 поддерживает новый алгоритм сжатия выделенных заголовков, который называется HPACK .* HPACK использует три метода сжатия: статический словарь, динамический словарь, кодирование Хаффмана
0 голосов
/ 17 марта 2011

Вскоре я бы сказал, нет и нет. HTTP был изобретен, ИМХО, чтобы покончить с проприетарным взаимодействием сервер / клиент. Означает ли это, что вы все еще не можете установить частную связь между сервером и клиентом? Нет. Давай, напиши свой собственный сервер и протокол, открой любой порт и выбери мяч.

...