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 завършва с края на секцията със заглавия; той не може да съдържа съдържание или ремаркета.

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

Протокол HTTP

текуща работа

Как да изхвърлим код на състоянието 304 с PHP?

За изхвърляне на HTTP статус код 304 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: 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: Оптимизиране на уеб производителността чрез интелигентно кеширане

Изпълнението на уебсайта и произтичащото от него потребителско изживяване са основни аспекти за успеха на всеки уебсайт. Съществен фактор, който влияе върху тази производителност, са HTTP кодовете ...

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

Тони Брусер е ентусиазиран уеб разработчик със склонност към HTTP кодовете за състояние.

LinkedInGitHub