Een 500 Internal Server Error is de melding die je krijgt als de server van een website tegen een probleem aanloopt dat hij niet kan herstellen tijdens het opbouwen van de pagina. Het is de manier waarop de server zegt: “er ging hier iets mis”, zonder het technische detail prijs te geven.
Vergelijk het met een 404. Een 404-pagina betekent dat het adres simpelweg niet bestaat, als een leeg perceel. Een 500 betekent dat het adres echt is, maar dat de keuken in brand vloog terwijl je bestelling werd klaargemaakt. De pagina had moeten laden, maar de code, de database of een instelling viel halverwege om. Omdat de melding bewust zo algemeen is, blijft de echte oorzaak verborgen voor bezoekers en staat die in de serverlogs. De fout zelf komt terug als onderdeel van het HTTP-antwoord, in een HTTP header met statuscode 500.
Veelvoorkomende oorzaken zijn een mislukte deployment, een kapotte configuratie, een database die offline is gegaan, of een plugin die botst met een update. Geen daarvan is de schuld van de bezoeker, en geen daarvan los je op met verversen. Er moet iemand de logs lezen.
Een 500 is alarmerender dan een 404 omdat hij meestal iedereen tegelijk raakt, niet één losse link. Eén verkeerde regel in je config kan de hele site platleggen, en een klant die net afrekent ziet dezelfde lege muur als een toevallige lezer. Daarom is het doel niet alleen snel repareren, maar de fout opmerken voordat je bezoekers dat doen.
Bij TopDevs zetten we op elk project monitoring en duidelijke foutlogging op, zodat een 500 wordt opgemerkt en opgelost voordat de meeste bezoekers er ooit tegenaan lopen.