HTTP-fejl 500 - Intern serverfejl forklaret på almindeligt engelsk

Fejlkoder i 4xx-området betyder, at du eller din browser gjorde noget forkert. Måske var du ikke logget ind, forsøgte at få adgang til noget, du ikke havde tilladelse til, eller bare gik vild.

Fejlkoder i 5xx-området betyder dog, at fejlen er helt ude af dine hænder (medmindre du er serverudvikleren / administratoren). Måske er den anden * mest frustrerende fejlkode, du nogensinde kan snuble over på internettet, den frygtede 500.

Hvad betyder det?

Kort sagt, serveren forsøgte at gøre noget og mislykkedes.

Ifølge RFC 7231:

500 (intern serverfejl) statuskode angiver, at serveren stødte på en uventet tilstand, der forhindrede den i at opfylde anmodningen.

Årsagen til dette kan være hvad som helst, virkelig!

Lad os forestille os, at du får adgang til et websted ved hjælp af en Laravel PHP API til sin back-end.

Den ting, der smed 500-fejlen, kunne være noget så simpelt som en vildfarende, der error_logforsøgte at logge en matrix i stedet for en streng - noget, der ikke var relateret til din anmodning, men ikke desto mindre en fejl, som PHP ville kaste og dræbe den anmodning, du fremsatte til serveren.

Normalt noget så trivielt som det ville blive fanget før implementering (forhåbentlig), men dette viser bare, at fejlen som bruger af et websted eller en app virkelig er ude af dine hænder.

Hvordan løser du det?

Som bruger uden adgang til serveren har du virkelig kun mulighed:

Meddel webstedsejeren, at en 500 returneres, når du forventer andet

Hvis du fuldt ud forventer, at du skal have adgang til den pågældende ressource, men du ser denne fejl, er det klogt at fortælle teamet bag webstedet.

Prøv at give udviklerne / supportteamet så mange oplysninger om, hvad du forsøgte at gøre, så de hurtigt kan replikere problemet for at spore fejlen.

Hvis du føler dig særligt hjælpsom eller nysgerrig, kan du muligvis jage efter flere spor i netværksfanen i udviklerværktøjerne til din browser.

På Firefox kan du åbne netværksfanen med genvejstasterne ctrl + shift + E. På Chrome kan du åbne udviklerværktøjerne med ctrl + shift + Iog derefter vælge netværksfanen.

Når denne fane er åben, skal du prøve din anmodning igen og se efter 500-returkoden i netværksoutputtet. Nogle gange kan du se et lidt mere detaljeret serverrespons, der beskriver det problem, du står over for. Du kan give disse oplysninger til udviklerne for at fremskynde løsningen på problemet.

Hvis du er udvikleren, skal du jage fejlen og rette den! Det kunne være hvad som helst, så jeg kan ikke fortælle dig, hvordan du gør det. Men hvis du er ny inden for udvikling, vil jeg anbefale først at kigge i serverlogfiler efter spor, hvis det ikke allerede er indlysende, hvad problemet er.

Hold godt fast

Efter at have rapporteret problemet har du gjort alt hvad du med rimelighed kan gøre.

* spekulerer du på, hvad den mest frustrerende fejlkode er stødt på i naturen? 418: Jeg er en tekande. Hvis du støder på dette som en faktisk fejl, betyder det, at udvikleren gik ind for at implementere dette som fejlrespons, men det er en vittighed og giver dig ikke information. Det sker.

Hvis du lover aldrig at returnere en 418 som svar på en reel fejl på klientsiden, er du velkommen til at holde kontakten med mig på Twitter @JacksonBates.