506
Variant Also Negotiates
Загальне пояснення коду стану 506
Код стану HTTP 506 Variant Also Negotiates є індикатором певної проблеми на сервері, яка виникає, коли сервер розгорнуто в конфігурації, що використовує так зване прозоре узгодження вмісту. Цей тип узгодження вмісту використовується для управління різними версіями ресурсу, які можуть бути доставлені залежно від вимог клієнта, що запитує (наприклад, різні мови, формати файлів або кодування).
По суті, код стану 506 Variant Also Negotiates означає, що на сервері є неправильна конфігурація, яка призводить до нескінченного циклу узгодження. Замість того, щоб сервер вибрав конкретну версію запитуваного ресурсу на основі вподобань клієнта, сам вибір посилається на чергові переговори. В результаті жоден з варіантів не надається, оскільки сервер потрапляє в цикл посилань, де один варіант посилається на інший, який в свою чергу посилається на інший і т.д.
Простий приклад: клієнт хоче отримати веб-сторінку на певній мові. Сервер має різні мовні версії веб-сайту і намагається вибрати найбільш підходящу версію. Однак, якщо конфігурація сервера неправильна, процес, який повинен вибрати найбільш підходящу версію, може замість того, щоб зробити остаточний вибір, направити на ще один раунд переговорів. Код стану 506 Variant Also Negotiates сигналізує клієнту про те, що сервер не може надати відповідну версію ресурсу через ці внутрішні конфлікти або неправильну конфігурацію.
На практиці цей код стану зустрічається рідко, оскільки він передбачає дуже специфічну конфігурацію сервера і стан помилки. Вирішення проблеми вимагає перегляду і виправлення конфігурації сервера, щоб переконатися, що узгодження контенту може виконуватися коректно, не заходячи в нескінченний цикл.
Специфікація коду стану HTTP 506
Джерело / Цитата з: Код статусу 506 Variant Also Negotiates HTTP визначається розділом 8.1 у RFC2295.
Протокол HTTP
Як згенерувати код статусу 506 за допомогою PHP?
Щоб передати на веб-сторінці код статусу HTTP 506, можна використовувати PHP-функцію http_response_code. Синтаксис наступний: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Перевірте код стану 506 HTTP
Щоб мати можливість відображати код статусу HTTP (в даному випадку 506 Variant Also Negotiates) та іншу інформацію на стороні клієнта, необхідно відкрити консоль розробки за допомогою клавіші F12. Потім перейдіть на вкладку "Мережа". Тепер сторінку можна відкрити, веб-сайт (наприклад, index.php) повинен бути видимим у вкладці "Мережа". Його потрібно вибрати, а потім вибрати розділ Herder. Після цього користувач побачить наступний результат:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Статус: 506 Variant Also Negotiates
Ці: Network
IP-адреса: XX.XX.XX.XX
Як створити власну сторінку помилок для коду стану 506
Apache Webserver
Веб-сервер "Apache" є одним з найпоширеніших веб-серверів в Інтернеті. Щоб створити власну сторінку помилки 506 Variant Also Negotiates в "Apache", необхідно внести наступні зміни в наступний файл.
NGINX Webserver
Подібно до веб-сервера "Apache", "NGINX" також широко використовується в Інтернеті. Щоб створити власну сторінку помилки 506 Variant Also Negotiates в "NGINX", необхідно внести наступні зміни в наступний файл.
location = /506.html {
root /usr/share/nginx/html;
internal;
}
Сумісність коду стану 506 з браузерами
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 |
Константи в мовах програмування
http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates