304: условие, указанное с помощью условного заголовка (ов) HTTP, не выполняется

В настоящее время я храню файлы в хранилище BLOB-объектов Azure, и когда я запрашиваю файлы, я получаю сообщение в firebug 304 «Условие, указанное с помощью условных заголовков HTTP, не выполняется»

Я просмотрел Azure Blob: Условие, указанное с использованием условных заголовков HTTP, не выполняется, и это аналогичный вопрос, но я не читаю содержимое с помощью blob.openread и т. Д. Я просто пытаюсь просмотреть содержимое в браузер.

Если я выполняю обновление элемента управления (ctrl и f5) в firefox, я получаю ответ 200 - значит, он обслуживается правильно. Я установил управление кешем (max-age = 3600, общедоступный) для возвращаемого файла, но все равно получаю эту ошибку / уведомление.

Мой вопрос: должен ли я беспокоиться о том, что когда я запрашиваю контент, он возвращается с этим ответом?

Любые ваши советы / мысли будут приняты с благодарностью.

Спасибо Стив


person Steve    schedule 24.05.2011    source источник


Ответы (1)


Если содержимое в хранилище BLOB-объектов не изменилось с момента последнего обращения к нему вашего браузера, то это правильное поведение.

Код состояния HTTP 304 определяется как «Не изменено» (см. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). Я ожидал, что ваш браузер отправил последний полученный ETag с содержимым в хранилище BLOB-объектов в заголовке HTTP If-None-Match, и, поскольку этот ETag все еще совпадает с ETag, связанным с содержимым в хранилище, нет необходимости отправить новую версию по сети.

Подробнее об ETags здесь: http://en.wikipedia.org/wiki/HTTP_ETag. Вы можете увидеть это поведение в действии через Fiddler.

FireFox Ctrl-F5 явно вызывает обновление, что означает, что заголовок If-None-Match не отправляется. Поэтому хранилище BLOB-объектов отправляет новую копию изображения по сети.

person Jeremy McGee    schedule 25.05.2011
comment
Контент не меняется, поэтому его просто обновляют после того, как страница загрузилась один раз, так что похоже, что он себя ведет. Спасибо, что ответил, Джереми. - person Steve; 26.05.2011