Het Hypertext Transfer Protocol (HTTP) is een applicatielaag-protocol dat de communicatie tussen webservers en clients (zoals webbrowsers) mogelijk maakt. Het is het fundamentele protocol waarop het World Wide Web is gebouwd en definieert hoe berichten worden geformatteerd en verzonden, en welke acties webservers en browsers moeten ondernemen als reactie op verschillende commando's.
HTTP werkt volgens een request-response model: een client stuurt een HTTP-request naar een server, en de server stuurt vervolgens een HTTP-response terug. Dit protocol is stateless, wat betekent dat elke request onafhankelijk wordt behandeld zonder kennis van eerdere requests.
Versies van HTTP
Door de jaren heen heeft HTTP verschillende evoluties doorgemaakt:
- HTTP/0.9 (1991): De oorspronkelijke versie, extreem eenvoudig met alleen GET-requests
- HTTP/1.0 (1996): Introduceerde headers, status codes en ondersteuning voor verschillende content types
- HTTP/1.1 (1997): Voegde persistent connections, chunked transfer encoding en betere caching toe
- HTTP/2 (2015): Bracht multiplexing, header compression en server push voor betere prestaties
- HTTP/3 (2022): Gebruikt QUIC in plaats van TCP voor nog snellere en betrouwbaardere verbindingen
HTTP Request Methods
HTTP definieert verschillende request methods (ook wel HTTP verbs genoemd) die aangeven welke actie moet worden uitgevoerd:
- GET: Vraagt gegevens op van een server
- POST: Stuurt gegevens naar een server om een nieuwe resource te creëren
- PUT: Werkt een bestaande resource bij of creëert deze
- DELETE: Verwijdert een specifieke resource
- PATCH: Past een resource gedeeltelijk aan
- HEAD: Identiek aan GET maar zonder response body
- OPTIONS: Vraagt informatie over communicatieopties
HTTP Status Codes
Elke HTTP-response bevat een status code die het resultaat van de request aangeeft:
- 1xx (Informational): Request ontvangen, proces wordt voortgezet
- 2xx (Success): Request succesvol ontvangen en verwerkt (bijv. 200 OK)
- 3xx (Redirection): Verdere actie nodig om request te voltooien (bijv. 301 Moved Permanently)
- 4xx (Client Error): Request bevat fouten of kan niet worden verwerkt (bijv. 404 Not Found)
- 5xx (Server Error): Server heeft gefaald om een geldige request te verwerken (bijv. 500 Internal Server Error)
HTTPS: De Beveiligde Variant
HTTPS (HTTP Secure) is de beveiligde versie van HTTP waarbij communicatie wordt versleuteld via TLS/SSL. Dit voorkomt dat derden de uitgewisselde gegevens kunnen onderscheppen of manipuleren. HTTPS is tegenwoordig de standaard voor vrijwel alle websites en wordt door zoekmachines als Google beloond met betere rankings.
