Computernetwerken/HTTP
Hoofdstuk 11: Het HTTP-protocol
[bewerken]Het HTTP-protocol (HyperText Transfer Protocol) regelt de communicatie tussen een webclient (meestal een browser) en een webserver. HTTP is een onderdeel van de toepassingslaag dat direct met de applicatie communiceert. Een webbrowser doet een request (verzoek) aan een webserver. Zo'n verzoek bestaat uit een URL dat je invoert als je naar een website gaat.
Een request bestaat uit de request-soort en de URL. Er zijn verschillende soorten:
- GET: Ontvangt het document
- POST: Verzendt gegevens naar de server
- DELETE: Verwijdert het document
- OPTIONS: Vraagt de server welke rechten de gebruiker op zijn niveau heeft
- PUT: Vervangt het document dat op de server staat door de verzonden gegevens
Veel van deze commando's worden in de programmeertaal PHP gebruikt om formulieren te verzenden of op te halen.
Het antwoord van een server
[bewerken]Waarschijnlijk zul je wel eens een foutmelding hebben gehad op internet. De oorzaak kan een pagina die niet bereikbaar is zijn, het verkeerd typen van de URL of een internetverbinding die niet goed werkt. HTTP geeft altijd een response (antwoord). Dit bestaat uit een code en een body, de boodschap. Een overzicht van de codes:
- 1xx: een informele boodschap van de webserver die nog gevolgd zal worden door andere data
- 2xx: een boodschap van de server dat de gevraagde actie succesvol is afgehandeld
- 3xx: een "redirect" naar een andere locatie, om wat voor reden ook
- 4xx: een foutboodschap die door de client veroorzaakt is, zoals het verkeerd typen van een URL
- 5xx: een foutboodschap die door de webserver veroorzaakt is
- 6xx: een proxyfout is opgetreden
Veel voorkomende codes:
- 200 OK – Het gevraagde document is succesvol opgevraagd
- 304 Not Modified – Ten opzichte van de versie in de cache is de pagina niet gewijzigd
- 403 Forbidden – Het opgevraagde document mag niet bekeken worden
- 404 Not Found – Het opgevraagde document bestaat niet
- 405 Not Allowed - De gebruiker is niet gerechtigd het gevraagde document te bekijken
- 500 Internal Server Error - De webserver heeft de gevraagde actie niet kunnen uitvoeren