506
Variant Also Negotiates
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
Šaltinis / citata iš: HTTP būsenos kodas 506 Variant Also Negotiates nurodytas 8.1 skirsnyje 8.1.
HTTP protokolas
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ą:
URL: https://http-statuscode.com/errorCodeExample.php?code=506
Statusas: 506 Variant Also Negotiates
Šie: Network
IP adresas: XX.XX.XX.XX
Kaip sukurti savo klaidų puslapį, kuriame būtų rodomas būsenos kodas 506
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.
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.
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