506

Variant Also Negotiates

Oficialus
Galinis taškas pats veda derybas

Bendras būsenos kodo 506 paaiškinimas

HTP būsenos kodas 506 Variant Also Negotiates yra konkrečios serverio problemos indikatorius, atsirandantis, kai serveris įdiegtas konfigūracijoje, kurioje naudojamos vadinamosios skaidrios derybos dėl turinio. Tokio tipo derybos dėl turinio naudojamos siekiant valdyti skirtingas ištekliaus versijas, kurios gali būti pateiktos atsižvelgiant į užklausą pateikusio kliento reikalavimus (pvz., skirtingas kalbas, failų formatus ar koduotes).

Iš esmės 506 Variant Also Negotiates būsenos kodas reiškia, kad serveryje yra netinkama konfigūracija, dėl kurios atsiranda begalinis derybų ciklas. Vietoj to, kad serveris pagal kliento pageidavimus parinktų konkrečią prašomo ištekliaus versiją, pats parinkimas nukreipia į kitas derybas. Dėl to nė vienas variantas nėra pateikiamas, nes serveris patenka į nuorodų ciklą, kuriame vienas variantas nurodo kitą, o šis savo ruožtu nurodo kitą ir t. t.

Paprastas pavyzdys: klientas nori tinklalapio tam tikra kalba. Serveris turi įvairių kalbinių svetainės versijų ir bando parinkti tinkamiausią versiją. Tačiau jei serverio konfigūracija yra neteisinga, procesas, turintis parinkti tinkamiausią versiją, vietoj galutinio pasirinkimo gali nukreipti į kitą derybų etapą. 506 Variant Also Negotiates būsenos kodas praneša klientui, kad serveris negali pateikti tinkamos ištekliaus versijos dėl šių vidinių konfliktų arba netinkamos konfigūracijos.

Praktikoje šis būsenos kodas matomas retai, nes jis numato labai specifinę serverio konfigūraciją ir klaidos būseną. Norint išspręsti šią problemą, reikia peržiūrėti ir ištaisyti serverio konfigūraciją, kad būtų užtikrinta, jog derybos dėl turinio gali būti vykdomos teisingai, nepereinant į begalinį ciklą.

HTTP būsenos kodo 506 specifikacija

506 Variant Also Negotiates būsenos kodas rodo, kad serveryje yra vidinė konfigūracijos klaida: pasirinktas varianto išteklius sukonfigūruotas taip, kad pats dalyvautų skaidriose turinio derybose, todėl nėra tinkamas derybų proceso galutinis taškas.

Šaltinis / citata iš: HTTP būsenos kodas 506 Variant Also Negotiates nurodytas 8.1 skirsnyje 8.1.

Kaip naudojant PHP išmesti 506 būsenos kodą?

Norint žiniatinklio puslapyje nurodyti HTTP būsenos kodą 506, galima naudoti PHP funkciją http_response_code. Sintaksė tokia: http_response_code(506) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

HTTP būsenos kodo 506 testavimas

Kad kliento pusėje būtų galima rodyti HTTP būsenos kodą (šiuo atveju 506 Variant Also Negotiates) ir kitą informaciją, kūrimo konsolę reikia atidaryti klavišu F12. Tada pereikite prie skirtuko "Network" (tinklas). Dabar galima atidaryti puslapį, tinklo skirtuke turi būti matoma svetainė (pavyzdys index.php). Ją reikia pasirinkti, o tada reikia pasirinkti skyrių Herder (Herderis). Tada naudotojas matys tokį rezultatą:

Būsenos kodas 506 Variant Also Negotiates
Apžvalga
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Statusas: 506 Variant Also Negotiates
Šie: Network
IP adresas: XX.XX.XX.XX
Būsenos kodas 506 Variant Also Negotiates

Kaip sukurti savo klaidų puslapį, kuriame būtų rodomas būsenos kodas 506

Sukurti savo 506 Variant Also Negotiates klaidos puslapį gana paprasta naudojant tiek "Apache", tiek "NGINX" žiniatinklio serverius.

Apache Webserver

Interneto serveris "Apache" yra vienas iš labiausiai paplitusių interneto svetainių serverių. Norėdami sukurti savo 506 Variant Also Negotiates klaidos puslapį "Apache", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

NGINX Webserver

Panašiai kaip ir žiniatinklio serveris "Apache", "NGINX" taip pat plačiai naudojamas internete. Norėdami sukurti savo 506 Variant Also Negotiates klaidos puslapį "NGINX", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

506 būsenos kodo suderinamumas su naršyklėmis

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

Konstantos programavimo kalbose

http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates

Išorinės nuorodos, kuriose pateikiama daugiau informacijos apie HTTP būsenos kodą 506:

Autorius: Tony Brüser
Autorius: Tony Brüser

Tony Brüseris yra entuziastingas žiniatinklio kūrėjas, mėgstantis HTTP būsenos kodus.

LinkedInGitHub