меню
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Сжатие запросов к API

Протокол 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.