Sobes.tech
Junior

Waaruit bestaat een HTTP-verzoek?

sobes.tech AI

Antwoord van AI

De HTTP-aanvraag bestaat uit de volgende componenten:

  1. Startregel (Request Line): Bepaalt het type aanvraag en de bron. Bestaat uit:

    • HTTP-methode (HTTP Method): De actie die op de bron moet worden uitgevoerd (bijvoorbeeld GET, POST, PUT, DELETE).
    • Pad van de bron (Path): De URL van de aangevraagde bron op de server.
    • HTTP-versie (HTTP Version): De versie van het HTTP-protocol die wordt gebruikt voor de aanvraag (bijvoorbeeld HTTP/1.1, HTTP/2.0).
    // Voorbeeld van startregel
    GET /index.html HTTP/1.1
    
  2. Aanvraagheaders (Request Headers): Bieden aanvullende informatie over de client, de aanvraag of de bron. De parameters van de header worden weergegeven in het formaat "Naam: Waarde". Belangrijke headers:

    • Host: De domeinnaam van de server.
    • User-Agent: Informatie over de client (browser, OS).
    • Accept: Mediatypen die de client bereid is te accepteren.
    • Content-Type: Mediatype van de inhoud van de aanvraagbody (voor PUT, POST).
    • Content-Length: De lengte van de aanvraagbody in bytes.
    • Authorization: Inloggegevens voor authenticatie.
    // Voorbeelden van aanvraagheaders
    Host: www.voorbeeld.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Lege regel (Empty Line): Scheidt de aanvraagheaders van de aanvraagbody. Is verplicht, zelfs als er geen body is.

  4. Aanvraagbody (Request Body): Bevat gegevens die naar de server worden gestuurd, zoals formuliergegevens, JSON voor POST/PUT-aanvragen. Is niet aanwezig bij alle methoden (bijvoorbeeld niet bij GET).

    // Voorbeeld van aanvraagbody (voor POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

Schematish kan de structuur van een HTTP-aanvraag worden weergegeven als:

Component Beschrijving Verplichting
Startregel Methode, pad van de bron, HTTP-versie Altijd
Aanvraagheaders Aanvullende informatie over de aanvraag/de client Optioneel
Lege regel Scheider Altijd
Aanvraagbody Gegevens die naar de server worden gestuurd Optioneel