506
Variant Also Negotiates
Všeobecné vysvetlenie stavového kódu 506
Stavový kód HTTP 506 Variant Also Negotiates je indikátorom špecifického problému v rámci servera, ktorý sa vyskytuje, keď je server nasadený v konfigurácii, ktorá používa takzvané transparentné vyjednávanie o obsahu. Tento typ vyjednávania o obsahu sa používa na správu rôznych verzií zdroja, ktoré môžu byť doručené v závislosti od požiadaviek požadujúceho klienta (napr. rôzne jazyky, formáty súborov alebo kódovania).
Stavový kód 506 Variant Also Negotiates v podstate znamená, že na serveri existuje nesprávna konfigurácia, ktorá vedie k nekonečnej slučke vyjednávania. Namiesto toho, aby server vybral konkrétnu verziu požadovaného prostriedku na základe preferencií klienta, samotný výber odkazuje na ďalšie vyjednávanie. Výsledkom je, že žiadny z variantov nie je doručený, pretože server je uväznený v cykle odkazov, kde jeden variant odkazuje na iný, ktorý zase odkazuje na iný atď.
Jednoduchý príklad: Klient chce webovú stránku v určitom jazyku. Server má k dispozícii rôzne jazykové verzie webovej stránky a snaží sa vybrať najvhodnejšiu verziu. Ak je však konfigurácia servera nesprávna, proces, ktorý má vybrať najvhodnejšiu verziu, môže namiesto definitívneho výberu odkázať na ďalšie kolo rokovaní. Stavový kód 506 Variant Also Negotiates signalizuje klientovi, že server nie je schopný dodať vhodnú verziu zdroja z dôvodu týchto vnútorných konfliktov alebo nesprávnej konfigurácie.
V praxi sa tento stavový kód vyskytuje zriedkavo, pretože predpokladá veľmi špecifickú konfiguráciu servera a chybový stav. Riešenie tohto problému si vyžaduje preskúmanie a opravu konfigurácie servera, aby sa zabezpečilo, že vyjednávanie obsahu sa môže vykonať správne bez toho, aby sa dostalo do nekonečnej slučky.
Špecifikácia stavového kódu HTTP 506
Zdroj / Citát z: Stavový kód HTTP 506 Variant Also Negotiates je špecifikovaný v časti 8.1 časti RFC2295.
Protokol HTTP
Ako vyhodiť stavový kód 506 pomocou PHP?
Na vyhodenie stavového kódu HTTP 506 na webovej stránke možno použiť funkciu PHP http_response_code. Syntax je nasledovná: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testovanie stavového kódu HTTP 506
Aby bolo možné zobraziť stavový kód HTTP (v tomto prípade 506 Variant Also Negotiates) a ďalšie informácie na strane klienta, je potrebné otvoriť vývojovú konzolu pomocou klávesu F12. Potom prejdite na kartu "Sieť". Teraz je možné otvoriť stránku, webová stránka (príklad index.php) by mala byť viditeľná na karte siete. Tú je potrebné vybrať a potom je potrebné vybrať sekciu Herder. Používateľovi sa potom zobrazí nasledujúci výsledok:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Stav: 506 Variant Also Negotiates
Tieto: Network
IP adresa: XX.XX.XX.XX
Ako vytvoriť vlastnú chybovú stránku pre stavový kód 506
Apache Webserver
Webový server Apache je jedným z najbežnejších webových serverov na internete. Ak chcete vytvoriť vlastnú chybovú stránku 506 Variant Also Negotiates v serveri "Apache", je potrebné vykonať nasledujúcu zmenu v nasledujúcom súbore.
NGINX Webserver
Podobne ako webový server Apache, aj NGINX je na internete široko používaný. Ak chcete vytvoriť vlastnú chybovú stránku 506 Variant Also Negotiates v serveri "NGINX", je potrebné vykonať nasledujúcu zmenu v nasledujúcom súbore.
location = /506.html {
root /usr/share/nginx/html;
internal;
}
Kompatibilita stavového kódu 506 s prehliadačom
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 |
Konštanty v programovacích jazykoch
http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates