ETag возвращается в ответе 304?

Я создаю приложение node.js, которое - регулярно, один раз в день - получает данные с какого-либо внешнего веб-сервера (используя пакет " request").

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

Затем при повторной загрузке (на следующий день) этого ресурса я добавляю If-None-Match заголовок с сохраненным etag в запросе.

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

1 ответ

Решение

Пожалуйста, взгляните на соответствующий RFC 2616.

Ответ ДОЛЖЕН включать следующие поля заголовка: (...)

  • ETag и / или Content-Location, если заголовок был бы отправлен в ответе 200 на тот же запрос

Так что если ETag заголовок возвращается с 200 OK Код статуса также должен быть включен в 304 Not Modified response,

Другие вопросы по тегам