304
Not Modified
Спецификация кода состояния HTTP 304
Состояние 304 Not Modified указывает на то, что условный запрос GET или HEAD был получен и привел бы к ответу 200 (OK), если бы не тот факт, что условие было оценено как ложное. Другими словами, серверу нет необходимости передавать представление целевого ресурса, поскольку запрос указывает на то, что клиент, который сделал условный запрос, уже имеет действительное представление; поэтому сервер перенаправляет клиента, чтобы он использовал это сохраненное представление, как если бы оно было содержимым ответа 200 (OK).
Сервер, генерирующий ответ 304 Not Modified, ДОЛЖЕН генерировать любое из следующих полей заголовка, которые были бы отправлены в ответе 200 (OK) на тот же запрос:
- Content-Location, Date, ETag и Vary
- 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. После этого пользователь увидит следующий результат:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Статус: 304 Not Modified
Эти: Network
IP-адрес: XX.XX.XX.XX
Совместимость кода состояния 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 304:
Развлекательные мемы о коде статуса HTTP 304
Статьи в блогах
Кэширование и коды состояния HTTP: Оптимизация производительности веб-сайтов за счет интеллектуального кэширования
Производительность сайта и, как следствие, пользовательский опыт являются ключевыми аспектами успеха любого сайта. Существенным фактором, влияющим на эту производительность, являются коды состояния...