Sobes.tech
Junior

Wat zijn HTTP-responscodes en waarin verschillen ze van elkaar?

sobes.tech AI

Antwoord van AI

HTTP-responscodes zijn driecijferige nummers die door de server worden geretourneerd als antwoord op een verzoek van de client. Ze geven de status van de verwerking van het verzoek aan en bieden informatie over of het succesvol is voltooid, of er een fout is opgetreden, of dat aanvullende actie vereist is.

De codes worden onderverdeeld in vijf klassen:

  • 1xx (Informatief): Verzoek is geaccepteerd, verwerking gaat door.
  • 2xx (Succesvol): Verzoek is succesvol ontvangen, begrepen en verwerkt.
  • 3xx (Doorverwijzingen): De client moet verdere acties ondernemen om het verzoek te voltooien.
  • 4xx (Clientfouten): Het verzoek bevat een syntaxisfout of kan niet worden verwerkt.
  • 5xx (Serverfouten): De server kon het verzoek niet uitvoeren.

De verschillen tussen de codes liggen in hun semantiek, gerelateerd aan de verschillende fasen van de verwerking van het verzoek en de mogelijke uitkomsten.

Voorbeelden van veelgebruikte codes:

Code Beschrijving Klasse
200 OK Succesvol
201 Gemaakt Succesvol
301 Permanent verplaatst Doorverwijzingen
302 Gevonden Doorverwijzingen
400 Verkeerde aanvraag Clientfouten
401 Niet geautoriseerd Clientfouten
403 Verboden Clientfouten
404 Niet gevonden Clientfouten
500 Interne serverfout Serverfouten
503 Dienst niet beschikbaar Serverfouten
// Voorbeeld van het verwerken van een HTTP-respons in JavaScript
fetch('/api/data')
  .then(response => {
    if (response.ok) { // Controle op succesvolle status (2xx)
      return response.json();
    } else {
      // Foutafhandeling op basis van de statuscode
      console.error(`HTTP-fout: ${response.status}`);
      if (response.status === 404) {
        console.error('Bron niet gevonden.');
      }
      throw new Error(`HTTP-fout: ${response.status}`);
    }
  })
  .then(data => {
    console.log('Ontvangen gegevens:', data);
  })
  .catch(error => {
    console.error('Fout bij het laden van gegevens:', error);
  });