Hoe werkt het Hypertext Transfer Protocol?

Het Hypertext Transfer Protocol (HTTP) vormt de basis van datacommunicatie voor het World Wide Web. Het definieert hoe berichten worden opgemaakt en verzonden, en hoe webservers en browsers op verschillende opdrachten reageren. HTTP werkt via TCP/IP, waarbij doorgaans poort 80 wordt gebruikt voor niet-gecodeerde verbindingen en poort 443 voor gecodeerde verbindingen (HTTPS). Hiermee kunnen clients (zoals webbrowsers) bronnen (zoals HTML-documenten, afbeeldingen of scripts) opvragen bij webservers en antwoorden ontvangen die de gevraagde inhoud bevatten, samen met statusinformatie.

Het HTTP-protocol werkt stap voor stap via een reeks interacties tussen een client (bijvoorbeeld een webbrowser) en een server (bijvoorbeeld een webserver). Het proces begint wanneer de client een HTTP-verzoekbericht naar de server verzendt. Dit verzoek specificeert de bron (bijvoorbeeld een webpagina-URL) waartoe de client toegang wil hebben en kan extra headers bevatten die informatie over de client of verzoekparameters bieden. De server verwerkt vervolgens het verzoek, haalt de gevraagde bron op en construeert een HTTP-antwoordbericht met de brongegevens samen met metagegevens zoals statuscodes (bijvoorbeeld 200 OK of 404 Not Found).

Een HTTP-website werkt door inhoud en bronnen aan te bieden aan clients (webbrowsers) die er verbinding mee maken via HTTP- of HTTPS-protocollen. Wanneer een gebruiker de URL van een website in een browser invoert, stuurt de browser een HTTP-verzoek naar de webserver die de site host. De server reageert door HTML-documenten, afbeeldingen, scripts, stylesheets en andere bronnen terug te sturen die nodig zijn om de webpagina in de browser van de gebruiker weer te geven. Dit proces omvat meerdere HTTP-verzoeken en -antwoorden voor elk element waaruit de webpagina bestaat, zodat alle benodigde inhoud correct wordt geleverd en weergegeven.

HTTP-verbindingen functioneren door een TCP-verbinding tot stand te brengen tussen de client en de server. De client initieert de verbinding door een TCP SYN-pakket naar de server te sturen, die reageert met een SYN-ACK-pakket. Zodra de verbinding tot stand is gebracht, worden HTTP-berichten (verzoeken en antwoorden) via deze TCP-verbinding verzonden. Na het verzenden van de benodigde gegevens kan de verbinding door beide partijen worden gesloten of open worden gehouden voor volgende verzoeken, afhankelijk van de HTTP-versie en server/client-configuraties.

Een HTTP-verzoek begint wanneer een client (bijvoorbeeld een webbrowser) een HTTP-methode (bijvoorbeeld GET, POST, PUT) samen met een URL (Uniform Resource Locator) naar een server verzendt. Deze aanvraagmethode specificeert de actie die de client wil dat de server uitvoert op de opgegeven bron. Bovendien kan het verzoek headers bevatten die aanvullende informatie over het verzoek bieden, zoals het type inhoud dat de client kan accepteren of verificatiereferenties. Zodra de server het verzoek ontvangt, verwerkt deze het verzoek op basis van de opgegeven methode en URL, haalt de gevraagde bron op en bereidt een HTTP-antwoord voor om terug te sturen naar de client.