304

Not Modified

Официальный сайт
Ресурс не нуждается в повторной передаче, так как никаких изменений не произошло

Спецификация кода состояния HTTP 304

Состояние 304 Not Modified указывает на то, что условный запрос GET или HEAD был получен и привел бы к ответу 200 (OK), если бы не тот факт, что условие было оценено как ложное. Другими словами, серверу нет необходимости передавать представление целевого ресурса, поскольку запрос указывает на то, что клиент, который сделал условный запрос, уже имеет действительное представление; поэтому сервер перенаправляет клиента, чтобы он использовал это сохраненное представление, как если бы оно было содержимым ответа 200 (OK).

Сервер, генерирующий ответ 304 Not Modified, ДОЛЖЕН генерировать любое из следующих полей заголовка, которые были бы отправлены в ответе 200 (OK) на тот же запрос:

  1. Content-Location, Date, ETag и Vary
  2. Cache-Control и Expires (см. [CACHING])

Поскольку целью ответа 304 Not Modified является минимизация передачи информации, когда у получателя уже есть одно или несколько кэшированных представлений, отправитель НЕ ДОЛЖЕН генерировать метаданные представления, кроме перечисленных выше полей, если только эти метаданные не существуют для управления обновлениями кэша (например.g., Last-Modified может быть полезен, если ответ не содержит поля ETag).

Требования к кэшу, который получает ответ 304 Not Modified, определены в разделе 4.3.4 [CACHING]. Если условный запрос исходит от исходящего клиента, например, агент пользователя с собственным кэшем отправляет условный GET на общий прокси-сервер, то прокси-сервер ДОЛЖЕН переслать ответ 304 Not Modified этому клиенту.

Ответ 304 Not Modified завершается концом секции заголовка; он не может содержать содержимого или трейлеров.

Источник / Цитаты из: Код состояния HTTP 304 Not Modified определен разделом 15.4.5 из RFC9110.

Протокол HTTP

незавершённая работа

Как вывести код состояния 304 с помощью PHP?

Чтобы бросить на веб-страницу код статуса HTTP 304, можно использовать PHP-функцию http_response_code. Синтаксис выглядит следующим образом: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Проверка кода состояния 304 HTTP

Чтобы иметь возможность отображать код состояния HTTP (в данном случае 304 Not Modified) и другую информацию на стороне клиента, необходимо открыть консоль разработки с помощью F12. Затем перейдите на вкладку "Сеть". Теперь можно открыть страницу, сайт (пример index.php) должен быть виден на вкладке "Сеть". Его необходимо выбрать, а затем выбрать раздел Herder. После этого пользователь увидит следующий результат:

Код состояния 304 Not Modified
Обзор
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Статус: 304 Not Modified
Эти: Network
IP-адрес: XX.XX.XX.XX
Код состояния 304 Not Modified

Совместимость кода состояния 304 с браузерами

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Константы в языках программирования

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

Внешние ссылки с дополнительной информацией о коде состояния HTTP 304:

Развлекательные мемы о коде статуса HTTP 304

Статьи в блогах

Кэширование и коды состояния HTTP: Оптимизация производительности веб-сайтов за счет интеллектуального кэширования

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

Автор: Tony Brüser
Автор: Tony Brüser

Тони Брюсер - увлеченный веб-разработчик, склонный к изучению кодов состояния HTTP.

LinkedInGitHub