Протокол 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 | Застосовуване стиснення для тіла запиту до сервера АРІ. Можливі значення: bzip2, gzip. |