2017-01-10 5 views
0

Я выполняю HTTP-запросы в .Net и после проверки HTTP-запроса, отправленного на веб-сайт, я нашел заголовок запроса, с которым я не знаком.Заголовок запроса HTTP - что такое Свободный словарь?

После добавления этого заголовка запроса к моему искателю ответ больше не является XHTML и выглядит так, будто он был преобразован в hexidecimal с помощью ChrW (19) и некоторых других символов.

  • Я предполагаю, что это своего рода шифрование, которое браузер обычно будет анализировать?

  • Есть ли способ декодировать это в .net?

Я пробовал смотреть в Интернете, но я не вижу многого в этом заголовке.

Avail-Dictionary:yB_90cqI,uz0ZIcfN 

ответ

2

Avil-словарь используется в заголовке запроса, чтобы показать, что браузер поддерживает протоколы SDCH. Если и сервер, и клиент поддерживают этот протокало, тогда кодирование SDCH будет использоваться до сжатия Gzip или Deflate.

SDCH: Общий словарь сжатия через HTTP

SDCH

«SDCH» означает «сжатие общих словарей через HTTP». Это протокол для сжатия ответов URL, используемых, когда сервер и клиент используют словарь, на который можно ссылаться для сжатия/кодирования и декомпрессии/декодирования. Детали протокола SDCH указаны в спецификации (скоро будет перемещен в GitHub) но вкратце:

  1. Если клиент поддерживает декодирование SDCH, он рекламирует «SDCH» в «Accept-Encoding ".

  2. Если сервер мог закодировать ответ со словарем (но не сделал этого, потому что у клиента не было словаря), он включает в себя ответный заголовок «Get-Dictionary:» .

  3. Если у клиента есть словарь, который сервером ранее рекламируемый как использовать для кодирования конкретных запросов, то рекламирует этот словарь как быть доступны через «Свободна-словарь:» заголовок в запросе.

  4. Если сервер хочет кодировать ответ со словарем, он включает в себя «sdch» в заголовке «Content-Encoding», и в этом случае тело будет ссылаться на словарь, который будет использоваться для декодирования (который должен быть один клиент, объявленный в исходном запросе). Кодировки могут быть прикованный; часто ответы кодируются SDCH, а затем кодируются gzip. Ссылка

SDCH недоставало много интереса со стороны разработчиков ранее, и как таковой, я не мог найти какие-либо библиотеки для распаковки SDCH в .Net

Documentation Reference

Google Repository

Смежные вопросы