Hypertext Transfer Protocol biedt een netwerkprotocolstandaard die webbrowsers en servers gebruiken om te communiceren. U ziet HTTP wanneer u een website bezoekt omdat het protocol in de URL voorkomt (bijvoorbeeld
Dit protocol is vergelijkbaar met andere, zoals het protocol voor bestandsoverdracht, omdat het door een clientprogramma wordt gebruikt om bestanden op te vragen van een externe server. In het geval van HTTP vraagt een webbrowser HTML-bestanden op bij een webserver, die vervolgens in de browser worden weergegeven met tekst, afbeeldingen, hyperlinks en gerelateerde items.
Omdat browsers communiceren via HTTP, kunt u het protocol gewoonlijk van een URL laten vallen wanneer u het in de adresbalk van de browser typt.
Geschiedenis van
Tim Berners-Lee creëerde de eerste HTTP-standaard in het begin van de jaren negentig als onderdeel van zijn werk bij het definiëren van het oorspronkelijke World Wide Web. In de jaren negentig werden drie primaire versies ingezet:
- HTTP 0.9: Ondersteuning van standaard hypertext-documenten.
- HTTP 1.0: Extensies om rijke websites te ondersteunen.
- HTTP 1.1: Ontwikkeld om prestatiebeperkingen van HTTP 1.0 aan te pakken, gespecificeerd in Internet RFC 2068.
De nieuwste versie, HTTP 2.0, werd in 2015 een goedgekeurde standaard. Het behoudt achterwaartse compatibiliteit met HTTP 1.1, maar biedt extra prestatieverbeteringen.
Terwijl standaard HTTP het verkeer dat via een netwerk wordt verzonden niet versleutelt, voegt de HTTPS-standaard codering toe aan HTTP door middel van Secure Sockets Layer of, later, Transport Layer Security.
Hoe HTTP werkt
HTTP is een applicatielaagprotocol dat bovenop TCP is gebouwd en een client-servercommunicatiemodel gebruikt. HTTP-clients en -servers communiceren via verzoek- en antwoordberichten. De drie belangrijkste typen HTTP-berichten zijn GET, POST en HEAD.
- HTTP GET: Berichten die naar een server worden verzonden, bevatten alleen een URL. Nul of meer optionele gegevensparameters kunnen aan het einde van de URL worden toegevoegd. De server verwerkt het optionele gegevensgedeelte van de URL, indien aanwezig, en retourneert het resultaat (een webpagina of element van een webpagina) naar de browser.
- HTTP POST: Berichten plaatsen optionele gegevensparameters in de hoofdtekst van het verzoekbericht in plaats van ze aan het einde van de URL toe te voegen.
- HTTP HEAD: Verzoeken werken hetzelfde als GET-verzoeken. In plaats van te antwoorden met de volledige inhoud van de URL, stuurt de server alleen de header-informatie terug (vervat in de HTML-sectie).
De browser start de communicatie met een HTTP-server door een TCP-verbinding met de server tot stand te brengen. Surfsessies op het web gebruiken standaard serverpoort 80, hoewel soms andere poorten zoals 8080 worden gebruikt.
Nadat een sessie tot stand is gebracht, activeert u het verzenden en ontvangen van HTTP-berichten door de webpagina te bezoeken.
HTTP is wat een staatloos systeem wordt genoemd. Dit betekent dat, in tegenstelling tot andere protocollen voor bestandsoverdracht, zoals FTP, de HTTP-verbinding wordt verbroken nadat het verzoek is voltooid. Dus nadat uw webbrowser het verzoek heeft verzonden en de server reageert met de pagina, wordt de verbinding verbroken.
Problemen oplossen met
Berichten verzonden via HTTP kunnen om verschillende redenen mislukken:
- Gebruikersfout.
- Storing van de webbrowser of webserver.
- Fouten bij het maken van webpagina's.
- Tijdelijke netwerkstoringen.
Wanneer deze fouten optreden, legt het protocol de oorzaak van de fout vast en rapporteert een foutcode aan de browser, een HTTP-statusregel/-code genoemd. Fouten beginnen met een bepaald nummer om aan te geven wat voor soort fout het is.
Fouten met een foutcode die begint met een vier geven bijvoorbeeld aan dat het verzoek om de pagina niet goed kan worden voltooid of dat het verzoek de onjuiste syntaxis bevat. 404-fouten betekenen bijvoorbeeld dat een webpagina niet kan worden gevonden; sommige websites bieden zelfs leuke aangepaste 404-foutpagina's.