Протокол HTTPS предусматривает стандартное соглашение между клиентом и сервером о сжатии ответа сервера. Клиент добавляет в запрос заголовок Accept-Encoding с указанием поддерживаемых методов сжатия, и сервер может сжать ответ с помощью одного из алгоритмов. Наше API поддерживает стандартный алгоритм gzip по этому методу.
Но, к сожалению, этот метод не идеален. Во-первых, он позволяет сжимать только ответ, но не запрос. Во-вторых, многие клиентские библиотеки не поддерживают алгоритм bzip2 — более эффективный, чем gzip. Чтобы устранить эти недостатки, в нашем API можно использовать двух дополнительных параметров request_compression и response_compression.
Если необходимо сжать передаваемые серверу API-данные, добавьте в URL запроса api_key и request_compression с одним из разрешённых алгоритмов сжатия. Все остальные параметры должны быть закодированы с помощью application/x-www-form-urlencoded, сжаты указанным в request_compression методом и переданы в теле POST запроса.
Если необходимо сжать ответ, передайте дополнительный параметр response_compression, в котором укажите желаемый алгоритм сжатия — gzip или bzip2. Если сервер сочтёт нужным, он сожмёт данные ответа указанным методом. Структура сжатых данных ответа будет соответствовать описанной в документации к API. При этом в случае сжатия протоколом gzip в ответе будет HTTPS-заголовок Content-Type: application/x-gzip, а в случае сжатия алгоритмом bzip2 в ответе будет HTTPS-заголовок Content-Type: application/x-bzip.
Параметры | |
response_compression | Применяемое сжатие для ответа от сервера API. Возможные значения: bzip2, gzip. |
request_compression | Применяемое сжатие для тела запроса к серверу API. Возможные значения: bzip2, gzip. |