HTTP GET is een methode die door clients (zoals webbrowsers) wordt gebruikt om gegevens op te vragen bij een server. Wanneer een client een HTTP GET-verzoek verzendt, bevat dit doorgaans een URL (Uniform Resource Locator) die de bron specificeert die hij wil ophalen. De server verwerkt het verzoek en reageert met de gevraagde bron, zoals een HTML-document, afbeelding of andere soorten gegevens. De HTTP GET-methode wordt als ‘veilig’ en ‘idempotent’ beschouwd, wat betekent dat deze de serverstatus niet mag wijzigen en kan worden herhaald zonder andere resultaten te veroorzaken.
De HTTP GET-methode werkt door parameters rechtstreeks aan de URL toe te voegen in de vorm van sleutel-waardeparen, gescheiden door “&”-symbolen na een “?” karakter. Wanneer de server een GET-verzoek ontvangt, parseert deze deze parameters van de URL en verwerkt deze dienovereenkomstig. Een GET-verzoek om zoekresultaten op te halen kan bijvoorbeeld parameters bevatten als “?q=search+query&page=2”, waarbij “q” de zoekopdracht aangeeft en “page” het paginanummer van de op te halen resultaten specificeert.
Een HTTP-verzoek volgt een reeks stappen om te communiceren tussen een client en een server:
- URL-formatie: De client construeert een URL die het adres van de server specificeert en het bronpad waartoe deze toegang wil hebben.
- HTTP-methode: De client selecteert een geschikte HTTP-methode (bijvoorbeeld GET, POST, PUT, DELETE) om de gewenste actie op de server uit te voeren.
- Request Headers: De client kan optionele headers in het verzoek opnemen, zoals “Accepteren” om het gewenste antwoordformaat te specificeren (bijvoorbeeld JSON, XML) of “Authorisatie” voor authenticatiedoeleinden.
- Body (voor sommige methoden): Voor methoden zoals POST of PUT kan de client een berichttekst bevatten met gegevens die naar de server moeten worden verzonden.
- Het verzoek verzenden: de client brengt een TCP-verbinding tot stand met de server en verzendt het HTTP-verzoekbericht met de methode, headers en optionele body.
- Serververwerking: Na ontvangst van het verzoek parseert de server het verzoekbericht, interpreteert de methode en headers en verwerkt de optionele berichttekst, indien aanwezig.
- Generating Response: De server formuleert een HTTP-antwoord met de gevraagde bron, statuscode (die succes, mislukking of omleiding aangeeft), headers en optionele antwoordtekst.
- Het antwoord verzenden: De server stuurt het HTTP-antwoord terug naar de client via de tot stand gebrachte TCP-verbinding.
- Clientverwerking: de client ontvangt het HTTP-antwoord, parseert de inhoud ervan en onderneemt passende actie op basis van de antwoordstatuscode en de hoofdtekst.
HTTP werkt als een protocol dat de regels definieert voor het overbrengen van hypermediadocumenten, zoals HTML-pagina’s, via internet. Het werkt volgens een verzoek-antwoordmodel waarbij clients verzoeken indienen bij servers voor specifieke bronnen, en servers reageren met de gevraagde gegevens of statusinformatie. HTTP is staatloos, wat betekent dat elk verzoek van een client aan een server onafhankelijk is en dat de server geen informatie over eerdere verzoeken bewaart. Deze eenvoud en flexibiliteit maken HTTP geschikt voor een breed scala aan toepassingen, van eenvoudig surfen op het web tot complexe webservices en API’s.