Ievads
Pārlūkojot internetu, lietotāji var saskarties ar dažādām kļūdām. Viena no izplatītākajām kļūdām ir 406 Not Acceptable kļūda. HTTP 406 kļūda, kas pazīstama arī kā “Not Acceptable”, norāda, ka serveris nevar nodrošināt datus, kas atbilst lietotāja pieprasījumā norādītajiem parametriem. Šī kļūda parasti rodas, kad serveris nevar nodrošināt atbildi, kas atbilst "Accept" galvenes prasībām.
Šajā rakstā mēs apspriedīsim, kas ir HTTP 406 kļūda, kādi ir tās cēloņi un kā to novērst, ja tā parādās jūsu vietnē.
Kas ir HTTP 406 kļūda?
Kad pārlūkprogrammas nosūta pieprasījumus serverim, tās pievieno "Accept" galveni, kas norāda serverim, kādos formātos pārlūkprogramma var pieņemt datus. Ja serveris nevar nodrošināt datus formātā, kas norādīts "Accept" galvenē, tas atgriež 406 Not Acceptable kļūdu.
Šo kļūdu var izraisīt arī modulis “mod_security”. "mod_security" ir ugunsmūra programmatūra, kas tiek izmantota Apache serveros, lai skenētu pieprasījumus un bloķētu nedrošas darbības. Ja pieprasījums pārkāpj noteiktos noteikumus, serveris atgriež 406 kļūdu.
Kas var izraisīt 406 kļūdu vietnē?
Visbiežāk 406 kļūdu jūsu hostinga kontā izraisa “mod_security” noteikumi. "mod_security" ir drošības modulis, kas pēc noklusējuma ir aktivizēts visos hostinga kontos, kas darbojas uz Apache serveriem. Ja vietne, lapa vai funkcija pārkāpj šos noteikumus, serveris var atgriezt 406 kļūdu.
Kā novērst 406 Not Acceptable kļūdu?
1. Pārskatiet kļūdas ziņojumu
Saskaroties ar HTTP 406 kļūdu, serveris parasti sniedz ziņojumu ar papildu informāciju par kļūdu. Sāciet ar šo ziņojumu, lai saprastu precīzu problēmu.
2. Pārbaudiet pieprasījuma galvenes
HTTP 406 kļūda ir saistīta ar “Accept” galveni lietotāja pieprasījumā. Šī galvene norāda, kādus mediju tipus lietotājs var pieņemt. Serveris pārbauda šo galveni, lai noteiktu, vai tas var nodrošināt datus, kas atbilst lietotāja prasībām. Pārliecinieties, ka "Accept" galvene ir pareizi konfigurēta.
Piemērs "Accept" galvenei, lai pieprasītu JSON datus:
Accept: application/json
Piemērs "Accept" galvenei, lai pieprasītu JSON un XML datus:
Accept: application/json, application/xml
Kā atspējot “mod_security” un novērst 406 kļūdu cPanel panelī:
“mod_security” atspējošana
Ja jums ir aizdomas, ka problēma ir "mod_security" modulī, mēģiniet to īslaicīgi atspējot konkrētam domēnam. To var izdarīt cPanel, veicot šādas darbības:
Pierakstieties cPanel: Izmantojiet savus piekļuves datus, lai pierakstītos jūsu vietnes vadības panelī.
Drošības sadaļa: Meklējiet ModSecurity moduli.
Atspējojiet “mod_security” konkrētam domēnam: Atrodiet vēlamo domēnu sarakstā un atspējojiet moduli, izmantojot atbilstošos iestatījumus.
Pārbaudiet: Atspējojot "mod_security", mēģiniet atvērt savu vietni un pārbaudiet, vai kļūda ir novērsta.
Svarīgi: “mod_security” atspējošana samazina vietnes drošības līmeni. Pārliecinieties, ka to atkal aktivizējat pēc kļūdas novēršanas.
.htaccess konfigurēšana cPanel
.htaccess rediģēšana: Pierakstieties cPanel Failu pārvaldniekā un atveriet .htaccess failu, kas atrodas jūsu vietnes saknes direktorijā.
Pievienojiet konfigurācijas: Pievienojiet instrukcijas failam, kas ļaus serverim labāk apstrādāt pieprasījumus:
<IfModule mod_negotiation.c>
Options -Multiviews
</IfModule>
3. Pielāgojiet "Accept" galveni
Ja 406 kļūdu izraisa "Accept" galvene, mēģiniet precizēt, kādus mediju tipus serveris atbalsta. Pārliecinieties, ka pārlūkprogrammas pieprasījums pareizi norāda nepieciešamos formātus, piemēram:
Accept: text/html
Accept: application/json
Šeit serveris izvēlēsies atbildes formātu, pamatojoties uz lietotāja vēlmēm. Ja rodas 406 kļūda, iespējams, ka serveris nevar sniegt saturu norādītajā formātā. Pārliecinieties, ka "Accept" galvenē norādītie mediju tipi tiek atbalstīti servera pusē.
4. Izmantojiet vispārīgus vai aizvietojošus tipus
Ja serveris atbalsta vairākus mediju tipus, bet jūs joprojām saņemat 406 kļūdu, mēģiniet izmantot vispārīgus tipus vai aizvietojošus tipus "Accept" galvenē. Piemēram, jūs varat norādīt */*, lai norādītu, ka jebkurš mediju tips ir pieņemams:
Accept: */*
5. Pārbaudiet servera konfigurāciju
Pārliecinieties, ka serveris ir pareizi konfigurēts, lai apstrādātu pieprasījumus nepieciešamajos formātos. Dažreiz nepareiza servera konfigurācija var izraisīt 406 kļūdu.
6. Izmēģiniet dažādas "Accept" galvenes vērtības
Mēģiniet izmantot dažādas "Accept" galvenes vērtības savā pieprasījumā, lai pārliecinātos, ka serveris var piegādāt saturu vienā no norādītajiem formātiem. Tas var palīdzēt noteikt konkrētu mediju tipu, kas izraisa problēmu.
7. Sazinieties ar servera administratoru vai API piegādātāju
Ja esat izmēģinājis visus iespējamos risinājumus, bet joprojām sastopaties ar HTTP 406 kļūdu, iespējams, ka problēma ir servera pusē. Sazinieties ar servera administratoru vai API piegādātāju un nododiet pieprasījuma detaļas un kļūdu, ko esat saņēmis. Viņi var palīdzēt atrisināt šo problēmu.
8. Apsveriet 406 kļūdu apstrādes metodes
Ja izstrādājat klienta programmu, ir svarīgi pareizi apstrādāt 406 kļūdas. Jūs varat izveidot procesus, kas informē lietotājus par kļūdu vai reģistrē kļūdas detaļas turpmākai izmeklēšanai.
Secinājums
Lai gan 406 Not Acceptable kļūda var šķist sarežģīta, ar pareizu pieeju un diagnostiku to var efektīvi novērst. Saprotot šīs kļūdas cēloņus un pielietojot labošanas metodes, jūs varat uzlabot savas vietnes veiktspēju un lietotāju pieredzi.