Hvordan HTTP fungerer, og hvorfor det er vigtigt - forklaret på almindeligt engelsk

Forestil dig, at dit hus er en enorm computer. I stedet for Goodison Street eller 4th Avenue består din hjemmeadresse af tal. For eksempel: 112.231.31.20.

Som i en futuristisk film består din by stort set af højteknologiske robotter på himlen, der går fra hus til hus og leverer deres beskeder og bærer svar.

Har du billedet?

En oversigt over, hvordan internettet fungerer

Lidt forenklet, dette er hvad der sker, når du skriver en webadresse i din browser:

  • Den finder adressen på "huset", hvor du vil sende anmodningen
  • Den sender anmodningen ved hjælp af robotpostbrevet
  • Den venter tålmodigt på svaret fra robotbrevet

Nu er alt dette abstraheret væk fra dig som slutbruger. Du skriver webadressen i browseren, og websiden vises foran dine øjne - som magi.

Som enhver tilstrækkelig avanceret teknologi ville den gennemsnitlige bruger ikke være i stand til at bruge internettet uden disse abstraktioner.

Det meste af tiden behøver du ikke bekymre dig om, hvordan noget fungerer - du skal bare vide, at det fungerer.

Men for visse motiver er det nyttigt at dykke lidt dybere ned i møtrikkerne eller bare ridser den kløe af nysgerrighed.

Du bliver ikke ekspert i de tekniske detaljer på Internettet ved at læse denne artikel - det vil tage meget mere tid og kræfter - men du får et fugleperspektiv og en bedre forståelse.

Hvis du finder ud af, at du vil lære mere, har jeg en playliste på YouTube, der går mere i dybden.

Beskedsystemet

Fra metaforen i begyndelsen af ​​denne artikel lærte vi, at internettet består af meddelelser, der sendes rundt. For det meste sendes disse meddelelser ved hjælp af det, der kaldes HTTP-protokollen.

Protokol. Det er et skræmmende ord. Det er et øje glasur over og luk din browser type ord. Så lad os opdele det i lettere vilkår.

En protokol er bare et smukt ord for aftale.

Lad os gøre det klarere med en analogi.

Sig, at du og din bedste ven efterlader hinanden hemmelige beskeder. Når du finder et stykke papir lige uden for døren med ordet "ballfoot", ved du, at din ven vil møde dig til fodbold i aften kl. 20.00.

Du ved dette, fordi du var enig i, at ordet "ballfoot" på et stykke papir, der blev leveret til dit hus, repræsenterer en invitation til at spille.

Nu opstår der et problem, når du begynder at efterlade dine andre venner noten "ballfoot" uden at fortælle dem den hemmelige betydning. De ville ikke vide, hvad de skulle gøre med oplysningerne.

De ville finde noten lige uden for døren, skrabe hovedet i et øjeblik og derefter fortsætte med at spille Fortnite i deres stue. Og du og din anden ven ville give bolden mellem dig. Frem og tilbage. Frem og tilbage. Indtil kedsomheden bliver uudholdelig, og I begge går hjem.

Men det behøver ikke at være sådan. Hvad hvis du fortæller dine venner, hvad betydningen af ​​"ballfoot" er? Nu ville hver af dine venner vide og dele aftalen om, at noten med verdens ”ballfoot” betyder at dukke op og spille fodbold ved den lokale domstol kl. 20.00.

Succes.

Dette er - i det væsentlige - hvad HTTP-protokollen repræsenterer. Vi er enige om, at hvis vi sender en besked på en bestemt måde, vil serveren forstå det og give et svar til gengæld.

Beskedets struktur

Lad os se nærmere på HTTP-aftalen. Den består af anmodninger og svar. Kort sagt, du beder om noget og får derefter et svar tilbage fra noget kendt som en server.

Inden vi går videre, lad os ændre vores metafor fra starten for bedre at forstå HTTP-anmodning / svarcyklusser.

Husker du, at robotterne går fra hus til hus og bærer beskeder? Forestil dig nu, at alle disse robotter tilhører nogen.

Du har din egen personlige robot, og du kan bede den om at gå til enhver adresse (IP-adresse) med beskeder. Når din robot ankommer med din besked til den givne adresse, vil den komme ind og proklamerer, at den har en besked at levere. Derefter vil det tale beskeden.

Af metaforens skyld kan du forestille dig, at dørene til husene (serverne) er som indgangen til Morias miner i Ringenes Herre. Kun hvis ordene er talt korrekt, åbner døren og lader dig komme ind.

I dette tilfælde modtager de kun en svarmeddelelse, hvis dine robotter taler beskeden på en bestemt måde.

Dette er HTTP-protokollen på arbejdspladsen. Der er et foruddefineret sæt regler, der styrer, hvordan anmodningen og svarmeddelelser ser ud.

På dette tidspunkt undrer du dig måske over, hvor disse meddelelser kommer fra. Du skriver bestemt ikke dem selv, når du indtaster webadressen i din webbrowser.

Nå, det hele håndteres automatisk for dig af browseren. Når du skriver i en adresse, sørger din browser for at komponere HTTP-anmodningsmeddelelsen til dig og sender den til serveren. HTTP-anmodningsmeddelelsen ser sådan ud:

GET / HTTP/1.1 Host: google.com User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9, image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 ...etc

Det ser skræmmende ud, ikke?

Godt at browseren gør dette for os.

Lad os tage et nærmere kig på netop den første linje: GET / HTTP/1.1. Denne linje får din robot til at gå op til Googles hus og sige: "Kan jeg venligst modtage hvad du har ved roden af ​​dit websted?" (Dette betyder, at vi vil hente, hvad der findes på www.google.com, ikke www.google.com/home.)

Så nu har vi leveret vores besked til Googles hus (serveren) på den rigtige måde. Dørene lyser op og svinger åbne.

Inde ser du en anden robot. Bag den er en række låsekasser markeret med tekst som GET / HTTP/1.1og GET /search HTTP/1.1. Hvis din anmodning matcher en af ​​disse låsekasser, låser robotten den op og giver din robot indholdet, hvilket vil bede den om hurtigt at vende tilbage til dig med svaret.

Svaret

Svaret, du får tilbage, ser sådan ud:

HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed

Nu vil du aldrig se dette svar, medmindre du virkelig vil inspicere det i din browsers udviklerværktøjer. Men alligevel modtager du det.

Hvad der derefter sker, afhænger af, hvilken type svar du modtager, og hvad der var inde i serverens lockbox.

In many cases, what you receive in return is an HTML document. HTML represents the structure of webpages and defines what the browser should display.

If you go to www.google.com, you will receive an HTML file in return that defines how the google.com site will be displayed in your browser.

If you have some time, this 11 minute video goes deeper into HTTP requests and responses:

Conclusion

In this article we’ve reviewed how the internet works, and how we use HTTP to communicate on the internet.

We learned that the HTTP protocol is used to communicate between browsers and servers on the internet and consists of a generally agreed upon standard for how requests are sent and received.

We also explored the importance of having such standards of communication and the benefits of having a generally agreed upon standard.

Der er mange flere facetter til at forstå, hvordan internettet fungerer, og hvilke slags svar du kan modtage.

Hvis du har et øjeblik, vil denne 18 minutters video, der lærer dig, hvordan du opbygger en webserver, gennemgå mange af de emner, der er dækket af denne artikel, og gennemgå nogle nye:

Nu skal du have en generel forståelse af, hvordan kommunikation på internettet fungerer.

Hvis du tror, ​​at en anden kan få gavn af denne artikel, bedes du sprede ordet. Og hvis du vil vide, hvornår jeg sender mere indhold, kan du abonnere på min YouTube-kanal, eller du kan følge mig @foseberg på Twitter.