506
Variant Also Negotiates
Üldine selgitus 506 staatuskoodi kohta
HTTP olekukood 506 Variant Also Negotiates on näitaja spetsiifilisest probleemist serveris, mis tekib siis, kui server on kasutusel konfiguratsioonis, mis kasutab nn läbipaistvat sisuläbirääkimist. Seda tüüpi sisuläbirääkimisi kasutatakse selleks, et hallata ressursi erinevaid versioone, mida saab edastada sõltuvalt taotluse esitanud kliendi nõuetest (nt erinevad keeled, failiformaadid või kodeeringud).
Sisuliselt tähendab staatuskood 506 Variant Also Negotiates, et serveris on vale konfiguratsioon, mis viib läbirääkimiste lõputu tsükkelini. Selle asemel, et server valiks kliendi eelistuste põhjal konkreetse versiooni taotletud ressursist, viitab valik ise uuele läbirääkimisele. Tulemuseks on see, et ühtegi varianti ei toimetata kohale, sest server on sattunud viidete tsüklisse, kus üks variant viitab teisele, mis omakorda viitab teisele ja nii edasi.
Ühtne näide: klient soovib veebilehte teatavas keeles. Serveril on veebilehe erinevad keeleversioonid ja ta püüab valida kõige sobivama versiooni. Kui aga serveri konfiguratsioon on vale, võib protsess, mis peaks valima kõige sobivama versiooni, selle asemel, et teha lõplik valik, viidata hoopis teisele läbirääkimisvoorule. Staatusekood 506 Variant Also Negotiates annab kliendile märku, et server ei suuda nende sisemiste konfliktide või vigaste konfiguratsioonide tõttu pakkuda ressursi sobivat versiooni.
Praktikas näeb seda staatuskoodi harva, sest see eeldab väga spetsiifilist serveri konfiguratsiooni ja veaolukorda. Probleemi lahendamine nõuab serveri konfiguratsiooni läbivaatamist ja parandamist, et tagada, et sisuläbirääkimisi saab korrektselt läbi viia ilma lõpmatusse tsüklisse sattumata.
HTTP staatuskoodi 506 täpsustamine
Allikas / Tsitaat: HTTP-kood 506 Variant Also Negotiates on määratletud jaotises 8.1 jaotises RFC2295.
HTTP protokoll
Kuidas PHP-ga 506 staatuskoodi visata?
Veebilehel HTTP-koodi 506 kuvamiseks võib kasutada PHP-funktsiooni http_response_code. Süntaks on järgmine: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testige HTTP-koodi 506
Selleks, et kuvada HTTP staatuskoodi (antud juhul 506 Variant Also Negotiates) ja muud teavet kliendi poolel, tuleb arenduskonsool avada klahviga F12. Seejärel navigeerige vahekaardile "Network". Nüüd saab lehekülje avada, veebileht (näiteks index.php) peaks olema nähtav võrgu vahekaardil. See tuleb valida ja seejärel tuleb valida Herder sektsioon. Seejärel näeb kasutaja järgmist tulemust:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Staatus: 506 Variant Also Negotiates
Need: Network
IP-aadress: XX.XX.XX.XX
Kuidas luua oma vealehekülg staatuskoodi 506 jaoks
Apache Webserver
Veebiserver "Apache" on üks levinumaid veebiservereid Internetis. Oma 506 Variant Also Negotiates vealehe loomiseks "Apache'is" tuleb teha järgmine muudatus järgmises failis.
NGINX Webserver
Sarnaselt veebiserverile "Apache" on ka "NGINX" internetis laialdaselt kasutusel. Oma 506 Variant Also Negotiates vealehe loomiseks "NGINXis" tuleb teha järgmine muudatus järgmises failis.
location = /506.html {
root /usr/share/nginx/html;
internal;
}
506 staatuskoodi brauserite ühilduvus
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 |
Konstandid programmeerimiskeeltes
http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates