506

Variant Also Negotiates

Hivatalos
A végpont saját magát tárgyalja

Általános magyarázat a 506 státuszkódra

Az 506 Variant Also Negotiates-os HTTP státuszkód a kiszolgálón belüli speciális probléma jelzője, amely akkor jelentkezik, ha a kiszolgálót olyan konfigurációban telepítik, amely úgynevezett átlátható tartalomtárgyalást használ. Ez a fajta tartalomtárgyalás egy erőforrás különböző verzióinak kezelésére szolgál, amelyek a kérelmező ügyfél igényeitől függően (pl. különböző nyelvek, fájlformátumok vagy kódolások) szállíthatók.

Az 506 Variant Also Negotiates-os állapotkód lényegében azt jelenti, hogy a kiszolgálón olyan hibás konfiguráció van, amely végtelen tárgyalási ciklushoz vezet. Ahelyett, hogy a kiszolgáló az ügyfél preferenciái alapján kiválasztaná a kért erőforrás egy adott verzióját, maga a kiválasztás egy újabb tárgyalásra utal. Az eredmény az, hogy egyik változat sem kerül kézbesítésre, mert a kiszolgáló a hivatkozások körforgásába kerül, ahol az egyik változat egy másikra hivatkozik, amely viszont egy másikra hivatkozik, és így tovább.

Egy egyszerű példa: Egy ügyfél egy weboldalt szeretne egy adott nyelven. A kiszolgálónak különböző nyelvi változatai vannak a weboldalról, és megpróbálja kiválasztani a legmegfelelőbb változatot. Ha azonban a szerver konfigurációja hibás, akkor a folyamat, amelynek ki kellene választania a legmegfelelőbb verziót, ahelyett, hogy végleges választást hozna, újabb tárgyalási körre hivatkozhat. Az 506 Variant Also Negotiates-os állapotkód azt jelzi az ügyfélnek, hogy a kiszolgáló nem tudja az erőforrás megfelelő verzióját szállítani az ilyen belső konfliktusok vagy hibás konfigurációk miatt.

A gyakorlatban ez az állapotkód ritkán fordul elő, mivel nagyon speciális szerverkonfigurációt és hibaállapotot feltételez. A probléma megoldása a kiszolgáló konfiguráció felülvizsgálatát és korrekcióját igényli annak biztosítása érdekében, hogy a tartalomtárgyalást végtelen ciklusba kerülés nélkül, helyesen lehessen végrehajtani.

Megoldása a kiszolgáló konfigurációjának felülvizsgálatát és korrekcióját igényli.

A 506-es HTTP státuszkód megadása

Az 506 Variant Also Negotiates-os állapotkód azt jelzi, hogy a kiszolgáló belső konfigurációs hibát szenvedett: a kiválasztott változat erőforrása úgy van konfigurálva, hogy maga is részt vegyen az átlátható tartalomtárgyalásban, és ezért nem megfelelő végpontja a tárgyalási folyamatnak.

Forrás / Idézet: A 506 Variant Also Negotiates HTTP státuszkódot a 8.1 szakasz RFC2295 szakasza határozza meg.

Hogyan dobhatok 506 státuszkódot PHP-vel?

A 506-es HTTP státuszkódot egy weboldalon a PHP http_response_code függvényével adhatjuk meg. A szintaxis a következő: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

A 506 HTTP státuszkód tesztelése

Ahhoz, hogy a HTTP státuszkódot (ebben az esetben 506 Variant Also Negotiates) és egyéb információkat meg tudjon jeleníteni az ügyféloldalon, a fejlesztői konzolt az F12 billentyűvel kell megnyitni. Ezután navigáljon a "Hálózat" fülre. Most már megnyitható az oldal, a weboldalnak (példa index.php) láthatónak kell lennie a hálózat fülön. Ezt ki kell választani, majd a Herder szekciót kell kiválasztani. A felhasználó ezután a következő eredményt fogja látni:

Állapot kód 506 Variant Also Negotiates
Áttekintés
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Állapot: 506 Variant Also Negotiates
Azok: Network
IP-cím: XX.XX.XX.XX
Állapot kód 506 Variant Also Negotiates

Hogyan hozzon létre saját hibaoldalt a 506-es státuszkódhoz?

Saját 506 Variant Also Negotiates-es hibaoldal létrehozása viszonylag egyszerű mind az "Apache", mind az "NGINX" webszerverek esetében.

Apache Webserver

Az "Apache" webszerver az egyik legelterjedtebb webszerver az interneten. A saját 506 Variant Also Negotiates-es hibaoldal létrehozásához az "Apache"-ban a következő változtatást kell elvégezni a következő fájlban.

File: .htaccess
ErrorDocument 506 /errors/506.html

NGINX Webserver

Az "Apache" webszerverhez hasonlóan az "NGINX" is széles körben használatos az interneten. A saját 506 Variant Also Negotiates-es hibaoldal létrehozásához az "NGINX"-ben a következő változtatást kell elvégezni az alábbi fájlban.

File: sites-enabled/default
error_page 506 /506.html;
location = /506.html {
    root /usr/share/nginx/html;
    internal;
}

A 506 státuszkód böngésző kompatibilitása

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

Állandók a programozási nyelvekben

http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates

Szórakoztató mémek a 506-es HTTP státuszkódról

Szerző: Tony Brüser
Szerző: Tony Brüser

Tony Brüser lelkes webfejlesztő, aki előszeretettel használja a HTTP státuszkódokat.

LinkedInGitHub