506

Variant Also Negotiates

Uradna stran
Končna točka se pogaja sama

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

Koda stanja 506 Variant Also Negotiates pomeni, da ima strežnik notranjo napako v konfiguraciji: izbrana različica vira je konfigurirana tako, da sama sodeluje v transparentnih pogajanjih o vsebini, zato ni ustrezna končna točka v postopku pogajanj.

Vir / citat iz: Koda stanja HTTP 506 Variant Also Negotiates je določena v razdelku 8.1 oddelka RFC2295.

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:

Koda stanja 506 Variant Also Negotiates
Pregled
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Status: 506 Variant Also Negotiates
Ti: Network
Naslov IP: XX.XX.XX.XX
Koda stanja 506 Variant Also Negotiates

Kako ustvariti lastno stran z napako za kodo stanja 506

Ustvarjanje lastne strani z napako 506 Variant Also Negotiates je razmeroma enostavno tako v spletnih strežnikih Apache kot NGINX.

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.

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

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.

File: sites-enabled/default
error_page 506 /506.html;
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
Avtor: Tony Brüser
Avtor: Tony Brüser

Tony Brüser je navdušen spletni razvijalec, ki je navdušen nad kodami stanja HTTP.

LinkedInGitHub