412
Precondition Failed
Спецификация на HTTP код на състоянието 412
Код на състоянието 412 Precondition Failed показва, че едно или повече условия, посочени в полетата на заглавието на заявката, са се оказали неверни при проверка на сървъра. Този код на отговора позволява на клиента да постави предварителни условия върху текущото състояние на ресурса (неговите текущи представяния и метаданни) и по този начин да предотврати прилагането на метода на заявката, ако целевият ресурс е в неочаквано състояние.
Източник / Цитат от: Кодът на състоянието 412 Precondition Failed на HTTP е определен в раздел 4.2 на RFC7232.
Протокол HTTP
Как да изхвърлим код на състоянието 412 с PHP?
За изхвърляне на HTTP статус код 412 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Тестване на код 412 на състоянието HTTP
За да можете да показвате кода на състоянието на HTTP (в този случай 412 Precondition Failed) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:
URL: https://http-statuscode.com/errorCodeExample.php?code=412
Статус: 412 Precondition Failed
Тези: Network
IP адрес: XX.XX.XX.XX
Как да разреша проблема със статус код 412?
1. разбиране на причината
Проверете заглавието на предварителното условие: Първо определете кое предварително условие е зададено в заглавието на заявката и не е изпълнено. Това може да бъде заглавие If-Match
, If-None-Match
, If-Modified-Since
, If-Unmodified-Since
или If-Range
.
2. проверка на метаданните на ресурса
Заглавие E-Tag и Last-Modified: Проверете метаданните на заявения ресурс. Сравнете стойността на E-Tag
или датата на Last-Modified
на ресурса със стойността, посочена в заявката, за да установите несъответствията.
3. Коригиране на заявката
Коригиране на заглавията: Ако проверката покаже, че стойностите в заглавията на условията на заявката не съответстват на текущото състояние на ресурса, коригирайте ги съответно.
Премахване на ненужните заглавия: В някои случаи може да е полезно да премахнете някои условни заглавия, ако те не са абсолютно необходими за заявката.
4. Управление на кеша
Проверка на кеша: Уверете се, че заявката не е засегната от кеширано състояние на ресурса. Ако е необходимо, изчистете кеша или използвайте заглавията Cache-Control, за да заобиколите кеша.
5. Конфигурация на сървъра
Проверка на конфигурацията: Проверете дали на сървъра има специални правила или конфигурации, които биха могли да доведат до този проблем, особено във връзка с обработката на условни заявки.
6. Комуникация с разработчика на API/ сървъра
Документация и поддръжка: Ако проблемът продължава, направете справка с документацията на API или сървъра и, ако е необходимо, се свържете с поддръжката или общността на разработчиците за допълнителна помощ.
7. Обработка на грешки в приложението
Разумна обработка на грешки: Реализирайте в приложението си надеждна обработка на грешки, за да реагирате по подходящ начин на кода на състоянието 412 Precondition Failed, например като изпратите отново заявката с персонализирани заглавия или като уведомите потребителя за грешката.
8. Тестване и наблюдение
Изчерпателно тестване: Тествайте приложението си при различни условия, за да сте сигурни, че то реагира правилно на грешки с код 412 Precondition Failed.
Наблюдение: Използвайте инструменти за наблюдение, за да откривате и анализирате такива грешки, така че да можете да реагирате превантивно на проблеми.
Как да създадете собствена страница за грешка с код на състоянието 412
Apache Webserver
Уеб сървърът "Apache" е един от най-разпространените уеб сървъри в интернет. За да създадете своя собствена страница за грешка 412 Precondition Failed в "Apache", трябва да се направи следната промяна в следния файл.
NGINX Webserver
Подобно на уеб сървъра "Apache", "NGINX" също се използва широко в интернет. За да създадете своя собствена страница за грешка 412 Precondition Failed в "NGINX", трябва да се направи следната промяна в следния файл.
location = /412.html {
root /usr/share/nginx/html;
internal;
}
Съвместимост на кода на състоянието 412 с браузъра
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
Константи в езиците за програмиране
HttpStatusCode.PreconditionFailed
http.StatusPreconditionFailed
Response::HTTP_PRECONDITION_FAILED
httplib.PRECONDITION_FAILED
http.client.PRECONDITION_FAILED
http.HTTPStatus.PRECONDITION_FAILED
:precondition_failed
Кодове на подсъстоянието на код 412
412.0 | Precondition failed HTTP IIS, Неофициален |