Сжатие HTTP - могу ли я настроить клиент для сжатия данных, отправляемых на сервер? - PullRequest
3 голосов
/ 16 апреля 2010

Я использую IIS 7 в качестве веб-сервера для своего приложения. Если я включу динамическое сжатие содержимого на сервере, это также позволит клиентам отправлять сжатые данные на сервер, если они могут?

Я имею в виду, что мое приложение использует веб-сервисы SOAP, и клиенты обычно отправляют большие объемы данных на сервер. Клиенты написаны на C # /. NET. Есть ли какая-либо конфигурация, которую я могу сделать в веб-справке / справке о сервисе, чтобы сказать им сжимать контент перед отправкой его в IIS? И нужно ли выполнять какие-либо настройки в IIS, чтобы это работало?

Заранее спасибо

1 Ответ

7 голосов
/ 16 апреля 2010

HTTP-сжатие работает клиентом, указывая заголовок Accept-Encoding с типами сжатия, которые он принимает:

Accept-Encoding: сжатие, gzip

Сервер увидит это и выберет один из типов кодирования на основе правил принятия кодировки, определенных здесь . Ответ будет в одном из принятых значений или в кодировке идентичности.


Просьба:

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

Метод OPTIONS представляет запрос на информацию об опциях связи, доступных в цепочке запрос / ответ, идентифицируемой Request-URI. Этот метод позволяет клиенту определять параметры и / или требования, связанные с ресурсом, или возможности сервера, не предполагая действия ресурса или не инициируя извлечение ресурса.

Примером этого является модуль apache для SVN, а также svn-клиент. Их можно настроить на сжатие HTTP для данных запроса.

См. RFC 2616: Раздел 9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...