gateway самопроизвольно отдаёт слишком длинный контент с content-encoding: gzip, хотя в запросе не было соотв. accept-encoding: gzip?
(полные заголовки запроса)
> POST /REDACTED HTTP/2
> Host: REDACTED.apigw.yandexcloud.net
> user-agent: curl/7.81.0
> accept: */*
> authorization: example
> content-type: application/json
> content-length: 4093
(некоторые заголовки ответа)
< HTTP/2 200
< date: Thu, 29 Dec 2022 14:43:48 GMT
< content-type: application/json
< access-control-allow-origin: *
< allow: POST, OPTIONS
< content-encoding: gzip
< vary: Accept-Encoding, Cookie
< x-content-type-options: nosniff
< x-serverless-gateway-id: <REDACTED>
< x-serverless-gateway-path: /{p+}
< x-xss-protection: 1; mode=block;
< server: Yandex-API-Gateway/1.0
UPD. Выглядит, что если тело ответа длиннее около 25Кб, то оно принудительно сжимается gzip, и ставятся заголовки:
vary: Accept-Encoding
content-encoding: gzip
С этим не справляется ни curl, ни клиент API Яндекс.Маркета — видимо, это не очень стандартно?
Если что, номер обращения в поддержку Облака: 167232598491476
Благодарю!
А если запросить по хттп1.1 то будет сжатие?
тоже < HTTP/1.1 200 OK < date: Thu, 29 Dec 2022 15:39:21 GMT < content-type: application/json < access-control-allow-origin: * < allow: POST, OPTIONS < content-encoding: gzip
Может я что-то пропустил — давно ли вообще можно сжимать ответ, даже с объявлением этого факта в заголовке, если клиент явно не указал, что он это accept? 🧐
Вот и я подумал, что может я что-то про http2 не знаю )
Получил сегодня ответ на обращение, в него скинул больше инфы для отладки. Спасибо этому чату! =)
Обсуждают сегодня