506
Variant Also Negotiates
Splošna razlaga kode stanja 506
Stavna koda HTTP 506 Variant Also Negotiates je pokazatelj posebne težave v strežniku, ki se pojavi, ko je strežnik nameščen v konfiguraciji, ki uporablja tako imenovano pregledno pogajanje o vsebini. Ta vrsta pogajanj o vsebini se uporablja za upravljanje različnih različic vira, ki jih je mogoče dostaviti glede na zahteve odjemalca, ki je oddal zahtevo (npr. različni jeziki, formati datotek ali kodiranja).
Koda stanja 506 Variant Also Negotiates v bistvu pomeni, da je v strežniku napačna konfiguracija, ki vodi v neskončno zanko pogajanj. Namesto da bi strežnik izbral določeno različico zahtevanega vira na podlagi odjemalčevih želja, se sama izbira nanaša na drugo pogajanje. Posledica tega je, da nobena od različic ni dostavljena, ker je strežnik ujet v krog referenc, kjer se ena različica nanaša na drugo, ta pa na tretjo in tako naprej.
preprost primer: Odjemalec želi spletno stran v določenem jeziku. Strežnik ima različne jezikovne različice spletne strani in poskuša izbrati najprimernejšo različico. Če pa je konfiguracija strežnika napačna, se lahko postopek, ki naj bi izbral najprimernejšo različico, namesto na dokončno izbiro napoti na še en krog pogajanj. Koda stanja 506 Variant Also Negotiates odjemalcu sporoča, da strežnik zaradi teh notranjih konfliktov ali napačne konfiguracije ne more zagotoviti ustrezne različice vira.
V praksi je ta koda stanja redko vidna, saj predpostavlja zelo specifično konfiguracijo strežnika in stanje napake. Reševanje težave zahteva pregled in popravek konfiguracije strežnika, da se zagotovi pravilno izvajanje pogajanj o vsebini brez vstopa v neskončno zanko.
Specifikacija kode stanja HTTP 506
Vir / citat iz: Koda stanja HTTP 506 Variant Also Negotiates je določena v razdelku 8.1 oddelka RFC2295.
Protokol HTTP
Kako s PHP vrniti kodo stanja 506?
Za prikaz kode stanja HTTP 506 na spletni strani lahko uporabite funkcijo PHP http_response_code. Sintaksa je naslednja: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Preizkus kode stanja HTTP 506
Če želite prikazati kodo stanja HTTP (v tem primeru 506 Variant Also Negotiates) in druge informacije na strani odjemalca, morate s tipko F12 odpreti razvojno konzolo. Nato pojdite na zavihek "Omrežje". Zdaj lahko odprete stran, spletno mesto (primer index.php) mora biti vidno v zavihku omrežje. To je treba izbrati, nato pa je treba izbrati razdelek Herder. Uporabnik bo nato videl naslednji rezultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Status: 506 Variant Also Negotiates
Ti: Network
Naslov IP: XX.XX.XX.XX
Kako ustvariti lastno stran z napako za kodo stanja 506
Apache Webserver
Spletni strežnik Apache je eden najpogostejših spletnih strežnikov v internetu. Če želite v strežniku "Apache" ustvariti lastno stran z napako 506 Variant Also Negotiates, morate v naslednji datoteki narediti naslednjo spremembo.
NGINX Webserver
Podobno kot spletni strežnik Apache se tudi NGINX pogosto uporablja na internetu. Če želite v strežniku "NGINX" ustvariti lastno stran z napako 506 Variant Also Negotiates, morate v naslednji datoteki narediti naslednjo spremembo.
location = /506.html {
root /usr/share/nginx/html;
internal;
}
Združljivost kode stanja 506 z brskalniki
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 |
Konstante v programskih jezikih
http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates