Google Blobstore и HTTP 206 ответов - PullRequest
1 голос
/ 20 июля 2010

В Blobstore Google недавно добавлена ​​поддержка обслуживания частичных байтовых диапазонов из большого двоичного объекта. Когда этот метод вызывается, ответ генерируется с кодом состояния HTTP 206 (частичное содержимое). Похоже, что движок приложения предполагает, что в этом случае он всегда обслуживает запрос Range.

Однако в моем случае я объединил много файлов в одну запись большого двоичного объекта и знаю диапазон байтов каждого из них. С точки зрения клиента они получают доступ только к URL, представляющему отдельный файл. За кулисами я вызываю ByteRange метод подачи в хранилище BLOB-объектов для обслуживания файла. HTTP 200 является более подходящим ответом в моем случае, однако механизм приложений всегда возвращает 206.

Есть ли способ отменить это поведение? (т.е. вернуть 200 вместо 206?)

Спасибо, Keyur

1 Ответ

1 голос
/ 21 июля 2010

TBH 206 - правильный код, потому что даже если клиент видит его по-другому, сервер все еще отправляет только часть большого двоичного объекта.

Технически, коды ответа частично присутствуют, чтобы помочь и включить кэширование, если он возвращает 200 OK к запросу диапазона, то временные прокси будут кэшировать только частичную сущность, которая предположит (по праву), что это полная сущность, будет путать ответы на дальнейшие запросы. Всегда нужно учитывать влияние на кеш, они делают большую часть работы в сети.

Извините, я не знаю:)

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