506
Variant Also Negotiates
Explicația generală a codului de stare 506
Codul de stare HTTP 506 Variant Also Negotiates este un indicator al unei probleme specifice în cadrul unui server care apare atunci când serverul este implementat într-o configurație care utilizează așa-numita negociere transparentă a conținutului. Acest tip de negociere a conținutului este utilizat pentru a gestiona diferite versiuni ale unei resurse care pot fi livrate în funcție de cerințele clientului solicitant (de exemplu, diferite limbi, formate de fișiere sau codificări).
În esență, codul de stare 506 Variant Also Negotiates înseamnă că există o configurație greșită pe server care duce la o buclă infinită de negociere. În loc ca serverul să selecteze o versiune specifică a resursei solicitate pe baza preferințelor clientului, selecția în sine se referă la o altă negociere. Rezultatul este că niciuna dintre variante nu este livrată, deoarece serverul este prins într-un ciclu de referințe, în care o variantă se referă la alta, care la rândul ei se referă la alta, și așa mai departe.
Un exemplu simplu: Un client dorește o pagină web într-o anumită limbă. Serverul dispune de diferite versiuni lingvistice ale site-ului web și încearcă să selecteze cea mai potrivită versiune. Cu toate acestea, dacă configurația serverului este incorectă, procesul care ar trebui să selecteze cea mai potrivită versiune ar putea în schimb să se refere la o altă rundă de negocieri în loc să facă o selecție definitivă. Codul de stare 506 Variant Also Negotiates semnalează clientului că serverul nu poate furniza o versiune adecvată a resursei din cauza acestor conflicte interne sau a unor configurații greșite.
În practică, acest cod de stare este rar întâlnit, deoarece presupune o configurație de server și o condiție de eroare foarte specifice. Rezolvarea problemei necesită o revizuire și o corecție a configurației serverului pentru a se asigura că negocierea conținutului poate fi efectuată corect fără a intra într-o buclă infinită.
.
Specificarea codului de stare HTTP 506
Sursa / Citat din: Codul de stare HTTP 506 Variant Also Negotiates este specificat în secțiunea 8.1 din RFC2295.
Protocolul HTTP
Cum să arunci un cod de stare 506 cu PHP?
Pentru a afișa codul de stare HTTP 506 pe o pagină web, se poate utiliza funcția PHP http_response_code. Sintaxa este următoarea: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testați codul de stare HTTP 506
Pentru a putea afișa codul de stare HTTP (în acest caz 506 Variant Also Negotiates) și alte informații pe partea clientului, consola de dezvoltare trebuie deschisă cu F12. Apoi navigați la fila "Network" (Rețea). Acum pagina poate fi deschisă, site-ul web (exemplu index.php) ar trebui să fie vizibil în fila rețea. Acesta trebuie selectat și apoi trebuie selectată secțiunea Herder. Utilizatorul va vedea apoi următorul rezultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Stare: 506 Variant Also Negotiates
Cei de la: Network
Adresa IP: XX.XX.XX.XX
Cum să vă creați propria pagină de eroare pentru codul de stare 506
Apache Webserver
Serverul web "Apache" este unul dintre cele mai răspândite servere web de pe internet. Pentru a vă crea propria pagină de eroare 506 Variant Also Negotiates în "Apache", trebuie făcută următoarea modificare în următorul fișier.
NGINX Webserver
Similar cu serverul web "Apache", "NGINX" este, de asemenea, utilizat pe scară largă pe internet. Pentru a vă crea propria pagină de eroare 506 Variant Also Negotiates în "NGINX", trebuie făcută următoarea modificare în următorul fișier.
location = /506.html {
root /usr/share/nginx/html;
internal;
}
Compatibilitatea browserului cu codul de stare 506
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 |
Constante în limbajele de programare
http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates