Fel på server- och klientsidan händer ibland, och vi brukar kalla dem för HTTP-svar eller statuskoder. 406-felet eller ”406 Not Acceptable” är ett sådant HTTP-svar.
Du kan se 406-felet när du besöker en webbplats. Eller ännu värre, på din egen webbplats. Även om det kan irritera en vanlig internetanvändaren kan det vara rentav skrämmande för en webbplats- eller applikationsägare. Förutom att verka oprofessionellt och förvirrande kan en HTTP-svarskod, inklusive 406-felet, orsaka förlust i försäljning och användare.
Denna artikel kommer att förklara grunderna i ”406 Not acceptable”-felet, dess orsaker, hur du fixar det, och åtgärder för att undvika det i framtiden.
Kolla in vår guide om hur du åtgärdar ett 406-fel och hittar källan till problemet
Vad är 406-felet?
Den goda nyheten är att HTTP-felet ”406 Not Acceptable”-meddelandet inte är alls lika vanligt som 404-serverfelet (vilket vanligtvis indikerar en obefintlig webbsida), eller ens 301- eller 500-felen. Därför borde du definitivt inte se det här så mycket.
Även om det är sällsynt är det fortfarande möjligt att 406-felet kan bli ett problem för din webbplats. Det brukar se ut så här:
Meddelandet säger vanligtvis:
Not Acceptable [Ej acceptabelt]
En lämplig representation av den begärda resursen kunde inte hittas på den här servern.
Det identifierar sedan ibland den ”begärda resursen” där problemet ligger, med andra meddelanden eller serverinformation omnämnda på slutet:
Utseendet och texten i 406-felmeddelandet beror på webbplatsen, webbhotellet och webbläsaren som används för att komma åt webbplatsen. 406-felet kan avslöja var felen kommer ifrån. Andra gånger kan du upptäcka att det är ett enkelt ”406 Not Acceptable”-fel utan någon information som hjälper dig att lösa problemet.
Låt oss nu låtsas att webbläsare talade klarspråk och inte dessa kryptiska meddelanden. I så fall skulle webbläsaren säga ungefär så här:
Hej, jag är en webbläsare. Jag försökte visa den här webbsidan, men ett av två problem uppstod:
- Webbplatsens server skickade mig fel filformat, så jag kan inte acceptera det.
- Webbplatsens server bryter mot vissa inställningar eller säkerhetskrav.
Lös därför överträdelsen eller låt servern använda ett av de filformat jag accepterar. Om du är nyfiken är det här de filformat jag kan läsa.
Om bara webbläsare var så vänliga!
I princip sker det ett missförstånd mellan servern och webbläsaren eller datorn som används för att presentera webbapplikationen. Webbläsaren kan antingen inte läsa vad som kommer in eller verifiera data eftersom de inte uppfyllde vissa krav.
Nu måste vi svara på några frågor för att ta reda på orsaken till detta missförstånd.
Vad orsakar 406-felet?
Varje gång du öppnar en webbsida skickar din webbläsare (som Safari, Firefox, Brave, Chrome eller Internet Explorer) en begäran till sidans server för att hämta webbplatsinnehåll och databasfiler. Webbläsaren fungerar som budbärare mellan dig och servern – den berättar för servern vad användaren vill se, och förhoppningsvis kommer rätt information tillbaka.
Under den första förfrågan berättar webbläsaren allt för servern om de filformat den kan acceptera. Det kallas en Accept-huvudförfrågan, som uppmanar servern att leverera filerna i rätt format för att producera hela webbplatsen eller webbapplikationen, med start i huvudet.
Ibland skickar servern ett svar som inte är i lämpligt format eller bryter mot en regel som webbläsaren eller klientens dator satt. I den här situationen visas ett 406-fel i webbläsarfönstret, vilket indikerar att servern inte levererar lämpliga data.
Här är några exempel på ”dåliga format” och ”regelöverträdelser” som kan komma upp vid huvudförfrågningarna:
- Accept-ranges: Vissa servrar har säkerhetsåtgärder på plats eller tillåter endast ett visst filstorleksintervall i svaret. Om svaret försöker skicka för många byte utanför det tillåtna intervallet ser du 406-felet.
- Accept-encoding: Här är ett område av huvudet som är avsett att komprimera filer så att de snabbt flyttas från servern till webbläsaren. Vissa komprimeringsmetoder och format accepteras inte, vilket returnerar en 406-felkod.
- Accept-charset: Hänvisar till en teckenuppsättning eller hur webbplatsfiltabeller tar kod (som CSS och HTML) och förvandlar den till begripliga tecken. Det finns så många tecken, språk och symboler i världen att det är utmanande att täcka dem allihop. Standardtabellen heter ISO-8859 men det finns också andra kompletterande tabeller. Nya teckentabeller släpps ibland för uppdateras med nya språk- och teckentillägg.
- Accept-language: Detta är vanligtvis ett annat namn för Accept-charset som hänvisar till dess fokus på internationella språk.
- MIME-type violation: Ibland begär webbläsaren en specifik MIME-typ från servern. MIME-typer är innehållselement som JPEG-bilder, specifika videoformat eller enkel text. Om servern inte kan tillhandahålla en begärd MIME-typ, som JPEG-bilder, visas ett 406-fel.
Det främsta sättet att ta itu med och åtgärda ett 406-fel är genom att kontrollera om källkoden har problem i Accept-, Reguest- och Response- huvudena.
Det enklaste sättet att granska Accept- och Response- huvuden är att öppna en webbsida i din webbläsare, högerklicka och välja Inspektera.
Gå till Nätverk > Huvuden för att se alla förfrågningar från denna webbsida.
Du kan vanligtvis välja en begäran från den långa listan för att se Request- och Response- huvuden för just denna begäran.
Annars kan du kontakta din webbutvecklare för att ta en titt på källkoden. Det är dock mycket lättare att kontrollera källkoden när du har verktyg för felsökning och rensning av din databas, som vi kommer att diskutera senare i den här artikeln.
Som tidigare nämnts berättar ett ”406 Not Acceptable”-fel att klienten har skickat en giltig förfrågan till servern, men begäran innehöll ett unikt krav som servern skulle följa. Detta särskilda krav i den ursprungliga begäran var i form av ett HTTP Accept--huvud.
Det ger oss med några potentiella orsaker:
- Servern tillhandahöll inte den begärda MIME-typen eller rätt format, som en JPEG-eller mp4-video.
- Servern återvände inte med rätt språk (Accept-language). Till exempel kan det ha skickat tillbaka ett svar på tyska när webbläsaren bad om franska.
- Servern använde fel komprimeringsmetod eller format som svar på Accept-encoding-begäran.
- Servern skickade tillbaka för många byte som inte stämde överens med Accept-range-begäran.
- Servern misslyckades med att tillhandahålla begripliga tecken, vilket resulterade i ett problem med Accept-charset-begäran från webbläsaren.
Det finns andra anledningar till att du kan se 406-felet, men de är inte alls lika vanliga. Ovanstående lista är från vanligaste orsakerna till minst vanliga. De två första kommer synas mycket oftare än de andra så du bör fokusera på att felsöka en MIME-typöverträdelse eller ett Accept-language-problem.
Sammantaget bör webbplatsägare känna till dessa formatproblem och överträdelser, eftersom något inom dina webbplatsfiler kan vara orsaken till problemet. Sådana situationer uppstår ofta på grund av mänskliga fel, som att oavsiktligt skriva in fel kod, radera nödvändig kod eller felkonfigurera servern. 406-felet visas också när specifika säkerhetsinställningar eller regler blockerar överföring av innehåll från servern.
Så fixar du 406-felet
Det är klokt att göra en säkerhetskopiering av webbplatsen eller applikationen innan du gör något för att lösa ett 406-fel. Det finns alltid en risk för att orsaka ytterligare problem genom att gå in på webbplatsens källkod, så du behöver ha en databas- och webbplatsfilskopia för att återställa allt om det behövs.
Se till att du tar en fullständig säkerhetskopia med allt från databasen till applikationen och medieelementen till webbplatsfilerna. Om du är en Kinsta-användare kan du göra det med MyKinstas säkerhetskopieringsfunktion, som loggar hela din webbplats i en separat fil och har en Återställningsknapp för senare användning:
Nu när vi har en djupare förståelse för varför 406-felet uppstår är det dags att prata om de bästa metoderna för att felsöka och förhindra att det händer igen.
Dessa taktiker inkluderar orsaker på klientsidan (där en användare gör ett fel eller datorn inte fungerar korrekt), orsaker på serversidan och plattformsbaserade orsaker som felaktiga plugin.
Se till att webbadressen är korrekt
Vårt första råd kan låta enkelt men det är det snabbaste felsökningsalternativet och det fokuserar på problem på klientsidan (dvs din dator).
Ett 404-fel är mycket mer sannolikt än ett 406-fel i den här situationen, men du kan få ett ”406 Not Acceptable”-fel om webbadressen är giltig. Men det kan vara något konstigt med hur din webbläsare översätter förfrågan. Att till exempel lägga till ”JSON” eller ”PHP” på slutet av webbadresser kan misstolkas som en begäran för dessa särskilda format, även om klienten inte behöver dem.
För att lösa problemet, dubbelkolla den tidigare använda webbadressen som skapade felet. Försök skriva in den igen eller välja en annan underdomän på webbplatsen för att se om det bara är en sida som inte renderas.
Ett 406-meddelande anses tekniskt sett vara en felkod på klientsidan (även om det ofta är ett plattforms- eller serverproblem), så det här är den första åtgärden för att se om något är fel på klientsidan.
Återställ dina enheter och nätverk
Ett annat problem på klientsidan inkluderar ibland samma Accept-huvuden som skickas från användarens dator till en plattform som inte kan uppfylla begäran. Många av dessa plattformar inkluderar spel- eller medieorienterade system som Hulu eller musiksajter som Spotify.
I enklare termer kan du logga in på en plattform som Hulu, försöka titta på en TV-show och få ett 406-felmeddelande. I det här exemplet är problemet nästan alltid på klientsidan. Det är vanligtvis din dator, ditt nätverk eller en annan enhet som du har använt för att starta plattformen.
Även om det kan hända med vilken plattform som helst är det vissa plattformar som ofta rapporterar 406-fel, inklusive:
- Hulu
- Google Play
- Square Enix Games
- Netflix
- Xbox
- Windows (vanligtvis för spel)
Den här listan är långt ifrån komplett, men det ger dig en uppfattning om var 406-felet kan uppstå.
Media- och spelplattformar är komplicerade med många begränsningar, och dessa begränsningar beror på din plats eller nätverkskonfiguration. Det finns en risk att du kan stöta på ett fel som detta på grund av alla rörliga bitar.
Även om vi inte kan hjälpa dig att felsöka varje specifik plattform kan du gå igenom följande rekommendationer och kolla om felet blir löst:
- Gå online för att kontrollera din plattforms serverstatus. Det kan helt enkelt vara ett problem med företagets server.
- Starta om datorn, spelsystemet, den streamande enheten eller andra maskiner.
- Koppla bort alla enheter från sina kablar, vänta några minuter innan du återansluter dem alla och kontrollera om felet är borta.
- Kolla om appen kör den senaste versionen. Kolla även om någon av dina maskiner har firmware-uppdateringar tillgängliga.
- Återställ ditt hemma- eller kontorsnätverk (WiFi eller internetanslutning via routern).
- Överväg att byta från ett trådlöst nätverk till en trådbunden nätverksanslutning om du fortfarande har problem.
- Även om detta inte alltid är en möjlighet kan du försöka duplicera felet med en helt annan dator. Se till att enheten använder samma nätverk. Om du inte kan replikera felet, kolla in ditt nätverk och den ursprungliga datorn.
Om allt annat misslyckas, gå till din sökmotor och skriv in namnet på din plattform tillsammans med ”+ 406-felkod” för plattformsspecifika felsökningsråd. Detta visar dig ofta forum och supportdokumentation som kan vägleda dig genom processen.
Ångra dina senaste CMS-förändringar
Därefter är det dags att utforska det system som användes för dina webbplatser eller applikationer. Ditt innehållshanteringssystem, till exempel WordPress, kan vara den direkta orsaken till ett ”406 Not Acceptable”-fel på grund av en komplikation med något i dina webbplatsfiler.
Oavsett om du använder WordPress eller något annat innehållshanteringssystem, kolla in när din senaste uppdatering gjordes. WordPress har en robust standardinfrastruktur avsedd för att undvika dessa typer av fel, oavsett vad.
Specifika plugin, teman eller manuellt justerad kod kan dock skapa situationer där webbplatsfilerna bryter mot klient- eller serverförfrågningar. En enkel uppgradering till ditt CMS:s senaste version kan lösa problemet direkt.
För att ta reda på om det är ditt CMS, börja med att ångra eventuella senaste uppgraderingar som gjorts på kärnfilerna. Som du kanske redan vet skickar WordPress ut uppdateringar till sitt system regelbundet. De flesta av dessa uppdateringar sker automatiskt, men äldre versioner kräver fortfarande att du klickar på en knapp.
Dessutom använder WordPress och andra CMS flera rörliga delar som plugin, teman och tillägg. De uppdateras också regelbundet, så du kan behöva ångra detta för några av dem.
För system utanför WordPress, sök efter ”plattformsnamn + nedgradering”.
Om du använder WordPress kan du enkelt nedgradera din WordPress-sajt, vilket effektivt tar dig tillbaka till en av de tidigare versionerna:
Den guiden beskriver följande metoder för nedgradering av din WordPress-sajt, varav de flesta bara tar några minuter:
- Manuell nedgradering av din WordPress-sajt.
- Använd ett plugin för att nedgradera WordPress-systemet.
- Återställ en tidigare säkerhetskopia för att få tillbaka en äldre version, eller åtminstone innehåll och filer från tidigare.
- Manuellt nedgradera ett tema eller plugin.
- Nedgradera ett plugin eller tema med ett separat plugin.
- Byt till en äldre version av PHP.
Avinstallera och installera om plugin, teman och tillägg
WordPressplugin och teman lägger till extra kod till dina webbplatsfiler som interagerar med WordPress kärnfiler. Välrenommerade plugin orsakar vanligtvis inga problem, men ibland uppstår en konflikt. Ett plugin, tema, eller tredjeparts tillägg kan vara orsaken till 406-felet.
Den beprövade metoden för att identifiera ett besvärligt plugin eller tema är att inaktivera dina plugin och teman ett efter ett. När du har inaktiverat var och ett, kolla om 406-felet har försvunnit. I så fall har du hittat problemet. Om det inte försvinner, installera om pluginet eller temat och fortsätt avinstallera nästa.
Analysera din databas status för ändringar och konflikter
Tyvärr kan ett borttaget ”problemplugin” fortfarande påverka din WordPress-databas eftersom pluginet får full tillgång till databasen för att fungera väl. Därför bör du fortfarande kontrollera status för din databas även om det verkar som om avlägsnandet av ett plugin fick 406-felet att försvinna. Annars kan du fortfarande riskera ytterligare problem i framtiden.
Om ett plugin eller tema inte var syndabocken bör du också kontrollera din databas om det är den primära källan till felet. Ibland är en databasändring, oavsett om den är oavsiktlig eller ändamålsenlig, den främsta orsaken till att ett 406-fel visas.
För att skanna och åtgärda din databas finns dessa lösningar:
- Installera en databasskanner och rensare som tar bort värdelösa och besvärliga tabeller och tillgångar. Några sådana är WP Optimize och Advanced Database Cleaner. Mycket av denna process innebär att ta bort gamla eller kvarlämnade objekt som inlägg i skräpkorgen, revideringar och metadata. Det är ett bra första steg för att städa upp din databas och eventuellt eliminera 406-felet.
- Skanna databasen och leta efter poster och tabeller som eventuellt ändrats av ett problematiskt plugin eller sådana som ser onödiga ut, eller är på fel plats.
- Om du har en idé om vad som är fel med din databas, gå till en sökmotor och sök efter hjälp från forum och andra diskussioner på nätet. Det finns en god chans att någon annan har upplevt samma problem.
Analysera dina serverloggar
De tidigare rekommendationerna fokuserar på användaren och CMS-orienterad felsökning. Nu ska vi vända oss till alla eventuella serverproblem. Det här tipset och de följande är bäst om du inte använder ett CMS eller vet att 406-felet inte har någon anknytning till ditt CMS eller din klientdator.
Det första steget i felsökning av servern är att kontrollera loggarna. Det spelar ingen roll vilken typ av webbapplikation, CMS eller webbdesignsystem du använder; de har alla serverloggar.
Applikationsloggarna lagrar webbapplikationens hela (eller senaste) historia, med information om varje databasförfrågan, tillhandahållna resultat, begärda sidor och mycket mer. Å andra sidan innehåller serverloggarna information om hälsa och status för servern eller hårdvaran som används för att köra webbapplikationen.
Kinsta-användare kan hitta fel- och serverloggar i MyKinstapanelen. Kontrollera alla loggar som kan orsaka 406-felet:
- Filen error.log
- Filen kinsta-cache-perf.log
- Filen access.log
Du kan också kontrollera raw access och WordPress felloggfiler med en FTP-klient. Andra alternativ inkluderar att aktivera felloggar i wp-config.php och gå igenom felsökningsläget i MyKinstapanelen.
Om du har problem med att hitta felloggarna eller inte vet hur du ska tolka dem, kontakta Kinstas kundsupport för att få hjälp.
Felsöka webbapplikationen (som WordPress)
Precis som att de flesta webbapplikationer har server- och felloggar ger de vanligtvis också information om felsökning av själva programmet. Felsökning innebär att gå igenom programmets kod för att hitta och eliminera mindre fel (eller buggar).
Ett av de bästa sätten att köra en fullständig genomsökning av WordPress (och alla webbapplikationer för den delen) är att felsöka databasen och webbplatsfilerna. Lyckligtvis betyder inte felsökning att du måste läsa igenom varje rad kod och själv lösa buggarna. Det finns tillgängliga program för detta specifika ändamål, och som vi nämnde tidigare har Kinsta även ett felsökningsverktyg inom MyKinstapanelen.
Starta felsökningsprocessen genom att lära dig grunderna i att felsöka WordPress med Kinstas felsökningsläge, WordPress felsökningsplugin, eller en mer manuell process:
Förhindra 406-felet i framtiden
Problemet med 406-felet är att det kan dyka upp under många olika situationer. Du kan se ”406 Not Acceptable HTTP”-felet när du surfar genom Hulu eller Netflix som en vanlig konsument.
Det är inte så trevligt, men inget som lite felsökning inte kan fixa. Desto mer oroande är förekomsten av 406-fel när det händer på din webbplats eller applikation. För dessa fall måste du kontrollera server- och CMS-filerna.
Om det är din webbplats måste du förhindra att felet någonsin händer igen. Plugin, teman och mänskliga fel kan alltid komma in i bilden, men vi har några förslag för att hålla dina databaser och webbplatsfiler rena i framtiden:
- Installera endast nödvändiga och välrenommerade plugin, teman och tillägg. Ha alltid så få av dessa element som möjligt.
- Ändra aldrig WordPress kärnfiler om du inte absolut måste och vet vad du gör.
- Kör en databasrensare och webbplatsoptimerare regelbundet. Vi rekommenderar att du gör denna process varje månad och helst hittar ett rensningsplugin som körs automatiskt i bakgrunden.
- Gör det till en vana att felsöka din server och webbapplikation. Som nämnts erbjuder Kinsta en felsökningsfunktion i instrumentpanelen. Många andra program har också denna typ av funktionalitet.
- Ställ in automatiska säkerhetskopior av din webbplats eller applikation. På så sätt kommer en kodkonflikt eller ett fel inte att ge dig så mycket stress eftersom du kan återställa en tidigare version av webbplatsen och börja därifrån.
- Kör en manuell säkerhetskopiering av din webbplats innan du planerar att uppdatera WordPress och eventuella plugin, även om du redan kör automatiserade säkerhetskopior. Det är också klokt att köra säkerhetskopior innan du redigerar några filer eller lägger till ny kod på din webbplats.
Sammanfattning
Du kan åtgärda 406-felet på flera sätt. Så länge du vet vad du ser och var du ska leta efter lösningen bör du kunna klara upp felet.
Även om detta inte är ett av de vanligaste WordPress-felen är det ett du kommer att se då och då om din konfiguration inte är korrekt.
Har du några andra rekommendationer för att lösa ”406 Not Acceptable”-felet? Berätta gärna i kommentarfältet!
Lämna ett svar