HTTP, een applicatieprotocolLaten we nu naar ons voorbeeld teruggaan. Web browsers en servers spreken een applicatieprotocol dat bovenop TCP/IP wordt uitgevoerd, door het eenvoudigweg als een manier te gebruiken om reeksen bytes heen en weer door te geven. Dit protocol wordt HTTP (Hyper-Text Transfer Protocol) genoemd en we hebben reeds een commando ervan gezien -- het GET zoals hierboven getoond.Als het GET commando naar de webserver van metalab.unc.edu met service nummer 80 gaat, zal het naar een server daemon luisterend op poort 80, worden verzonden. De meeste Internetdiensten worden door serverdaemons uitgevoerd die niets anders doen dan poorten in de gaten houden, uitkijken naar en uitvoeren van inkomende commando's.Als het ontwerp van het Internet over de gehele linie gelijk zou zijn, is het dat alle delen zo eenvoudig en mens-toegankelijk mogelijk zou moeten zijn. HTTP, en daaraan gerelativeerde protocollen (zoals het Simple Mail Transfer Protocol, SMTP, dat wordt gebruikt om elektronische mail tussen hosts te verplaatsen) maken in het algemeen gebruik van eenvoudige afdrukbare-tekst commando's die met een carriage-return/line feed eindigen.Dit is marginaal inefficient; in een aantal omstandigheden zou je meer snelheid kunnen krijgen door gebruik te maken van een waterdicht-gecodeerd binair protocol. Maar ervaring heeft uitgewezen dat de voordelen van commando's die gemakkelijk door menselijke wezens zijn te beschrijven en begrijpen zwaarder wegen dan enig bijkomstig voordeel in efficiëntie dat je zou kunnen krijgen ten koste van het maken van lastige en onbevattelijke zaken.Daarom is wat de serverdaemon je terugzendt via TCP/IP ook tekst. Het begin van de response zal er ongeveer zo uitzien (een paar van de headers zijn achtergehouden):HTTP/1.1 200 OK Date: Sat, 10 Oct 1998 18:43:35 GMT Server: Apache/1.2.6 Red Hat Last-Modified: Thu, 27 Aug 1998 17:55:15 GMT Content-Length: 2982 Content-Type: text/htmlDeze headers zullen worden gevolgd door een lege regel en de tekst van de webpage (waarna de verbinding wordt verbroken). Je browser toont enkel die pagina. De headers geven aan hoe (in het bijzonder vertelt de Content-Type header het dat de geretourneerde gegevens in feite HTML zijn).