Подтвердить что ты не робот

304 Не изменено с 200 (из кеша)

Я пытаюсь понять, что именно представляет собой различие между "статусом 304 не измененным" и "200 (из кеша)" Here is the screenshot

Я получаю 304 на javascript файлах, которые я изменил последним. Почему это происходит? Спасибо за помощь.

4b9b3361

Ответ 1

https://sookocheff.com/post/api/effective-caching/ - отличный источник для формирования необходимого понимания вокруг этих двух кодов состояния HTTP.

Прочитав это полностью, я понял это

При типичном использовании, когда URL-адрес будет восстановлен, веб-сервер вернет текущее представление ресурса вместе со своим соответствующим значением ETag, которое помещается в поле заголовка HTTP-ответа "ETag". Затем клиент может решить кэшировать представление вместе с его ETag. Позже, если клиент хочет снова получить тот же ресурс URL-адреса, он сначала определит, истек ли местная кешированная версия URL-адреса (через заголовки Cache-Control и Expire). Если URL-адрес еще не истек, он будет извлекать локальный кешированный ресурс. Если он определил, что URL-адрес истек (устарел), клиент свяжется с сервером и отправит ранее сохраненную копию ETag вместе с запросом в поле "If-None-Match". (Источник: https://en.wikipedia.org/wiki/HTTP_ETag)

Но даже если время истечения срока действия актива будет установлено в будущем, браузер все равно сможет достичь сервера для условного GET с использованием ETag в соответствии с заголовком "Vary". Подробности в заголовке "изменить": https://www.fastly.com/blog/best-practices-using-vary-header/

Ответ 2

304 Изменено
A 304 Not Modified означает, что файлы не были изменены с указанной версии с помощью "If-Modified-Since" или "If-None-Match".

200 OK
Это ответ, который вы получите, если работает HTTP-запрос. Запросы GET будут иметь что-то, относящееся к файлам. Запрос POST будет иметь что-то, удерживающее результат действия.

Счастливое кодирование!
Lyfe