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 завършва с края на секцията със заглавия; той не може да съдържа съдържание или ремаркета.
Източник / Цитат от: Кодът на състоянието 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. След това потребителят ще види следния резултат:
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: Оптимизиране на уеб производителността чрез интелигентно кеширане
Изпълнението на уебсайта и произтичащото от него потребителско изживяване са основни аспекти за успеха на всеки уебсайт. Съществен фактор, който влияе върху тази производителност, са HTTP кодовете ...