Imaginați-vă că casa dvs. este un computer imens. În locul Goodison Street sau 4th Avenue, adresa dvs. de domiciliu este formată din numere. De exemplu: 112.231.31.20.

La fel ca într-un film futurist, orașul tău constă în mare parte din roboți de înaltă tehnologie pe cer, care merg din casă în casă, transmitându-și mesajele și răspunzând.

Ai poza?

O prezentare generală a modului în care funcționează internetul

Ușor simplificat, acest lucru se întâmplă când introduceți o adresă web în browser:

  • Acesta găsește adresa „casei” unde doriți să trimiteți cererea
  • Trimite cererea folosind poștașul robot
  • Așteptă cu răbdare răspunsul de la poștașul robot

Acum, toate acestea sunt abstracte de dvs., ca utilizator final. Tastați adresa web în browser, iar pagina web apare în fața ochilor dvs. – ca magia.

Ca orice tehnologie suficient de avansată, utilizatorul mediu nu ar putea utiliza internetul fără aceste abstracții.

De cele mai multe ori, nu trebuie să vă faceți griji cu privire la modul în care funcționează ceva – trebuie doar să știți că funcționează.

Dar pentru anumite subiecte, scufundarea puțin mai adâncă în piulițe și șuruburi este utilă sau doar zgârieturi care provoacă curiozitate.

Nu veți deveni un expert în detaliile tehnice ale internetului citind acest articol – care va necesita mult mai mult timp și efort – dar veți obține o vedere de pasăre și o mai bună înțelegere.

Dacă descoperiți că doriți să aflați mai multe, Am o listă de redare pe YouTube care merge mai în profunzime.

Sistemul de mesagerie

Din metafora de la începutul acestui articol, am aflat că internetul constă în transmiterea mesajelor. În cea mai mare parte, aceste mesaje sunt trimise utilizând ceea ce este cunoscut sub numele de protocol HTTP.

Protocol. Acesta este un cuvânt înfricoșător. Acesta este un ochi strălucitor și închide tipul de cuvânt al browserului. Deci, să o descompunem în termeni mai simpli.

Un protocol este doar un cuvânt elegant pentru acord.

Să o clarificăm cu o analogie.

Spuneți că dvs. și cel mai bun prieten al vostru vă lăsați mesaje secrete. Când găsești o bucată de hârtie la prag cu cuvântul „ballfoot”, știi că prietenul tău vrea să te întâlnească la fotbal diseară la ora 20:00.

Știți acest lucru pentru că ați fost de acord că cuvântul „picior de minge” de pe o bucată de hârtie livrată acasă reprezintă o invitație la joacă.

Acum, apare o problemă atunci când începeți să le lăsați celorlalți prieteni nota „ballfoot” fără a le spune sensul secret. Nu ar ști ce să facă cu informațiile.

Vor găsi biletul pe pragul lor, își vor zgâria capul un minut, apoi vor continua să joace Fortnite în sufrageria lor. Și tu și celălalt prieten al tău ai trece mingea între tine. Înainte și înapoi. Înainte și înapoi. Până când plictiseala devine insuportabilă și amândoi plecați acasă.

Dar nu trebuie să fie așa. Ce se întâmplă dacă le spui prietenilor tăi care este semnificația „piciorului de minge”? Acum, toți prietenii tăi ar ști și vor împărtăși acordul potrivit căruia nota cu „ballfoot” mondial înseamnă să se prezinte și să joace fotbal la curtea locală la ora 20:00.

Succes.

Acesta este – în esență – ceea ce reprezintă protocolul HTTP. Am convenit că, dacă trimitem un mesaj într-un anumit mod, serverul îl va înțelege și va oferi un răspuns în schimb.

Structura mesajului

Să aruncăm o privire mai atentă asupra acordului HTTP. Se compune din cereri și răspunsuri. Pur și simplu, cereți ceva și apoi primiți un răspuns de la ceva cunoscut sub numele de server.

Înainte de a continua, să modificăm metafora noastră de la început pentru a înțelege mai bine ciclurile de solicitare / răspuns HTTP.

Vă amintiți de roboții care merg din casă în casă purtând mesaje? Acum imaginați-vă că toți acești roboți aparțin cuiva.

Aveți propriul robot personal și îi puteți cere să meargă la orice adresă (adresă IP) cu mesaje. Odată ce robotul dvs. ajunge cu mesajul dvs. la adresa dată, acesta va intra și va proclama cu îndrăzneală că are un mesaj de transmis. Apoi va rosti mesajul.

De dragul metaforelor, imaginați-vă că ușile spre case (servere) sunt ca intrarea în minele din Moria în Lord of the Rings. Doar dacă cuvintele sunt rostite corect, ușa se va deschide și vă va permite să intrați.

În acest caz, numai dacă roboții dvs. vor rosti mesajul într-o manieră specifică, vor primi un mesaj de răspuns pentru a vă întoarce.

Acesta este protocolul HTTP la locul de muncă. Există un set predefinit de reguli care ghidează cum arată mesajele de solicitare și răspuns.

În acest moment s-ar putea să vă întrebați de unde vin aceste mesaje. Cu siguranță nu le scrieți singur atunci când introduceți adresa site-ului web în browserul dvs. web.

Ei bine, totul este gestionat automat de dvs. de către browser. Când scrieți într-o adresă, browserul dvs. se ocupă de compunerea mesajului de solicitare HTTP pentru dvs. și îl trimite la server. Mesajul de solicitare HTTP arată astfel:

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

Pare înfricoșător, nu?

Bine că browserul face acest lucru pentru noi.

Să aruncăm o privire mai atentă doar la prima linie: GET / HTTP/1.1. Această linie îl face pe robotul tău să meargă la casa Google și să spună „Pot să primesc, vă rog, orice aveți la rădăcina site-ului dvs. (Aceasta înseamnă că dorim să recuperăm ceea ce se află pe www.google.com, nu pe www.google.com/home.)

Deci, acum ne-am livrat mesajul către casa Google (serverul) în mod corect. Ușile se aprind și se deschid.

Înăuntru vezi un alt robot. În spatele ei se află o serie de casete de blocare marcate cu text ca GET / HTTP/1.1 și GET /search HTTP/1.1. Dacă solicitarea dvs. se potrivește cu una dintre aceste cutii de blocare, robotul o va debloca și îi va oferi conținutului robotului, ceea ce îl va solicita să revină la dvs. rapid cu răspunsul.

Raspunsul

Răspunsul pe care îl primiți înapoi va arăta cam așa:

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

Acum, nu veți vedea niciodată acest răspuns, cu excepția cazului în care doriți cu adevărat să îl inspectați în instrumentele de dezvoltator ale browserului dvs. Dar, cu toate acestea, îl primiți.

Ce se întâmplă în continuare depinde de ce fel de răspuns primiți și de ce a fost în caseta de blocare a serverului.

În multe cazuri, ceea ce primiți în schimb este un document HTML. HTML reprezintă structura paginilor web și definește ce ar trebui să afișeze browserul.

Dacă accesați www.google.com, veți primi în schimb un fișier HTML care definește modul în care va fi afișat site-ul google.com în browserul dvs.

Dacă aveți ceva timp, acest videoclip de 11 minute aprofundează cererile și răspunsurile HTTP:

https://www.youtube.com/watch?v=videoseries

Concluzie

În acest articol am analizat cum funcționează internetul și cum folosim HTTP pentru a comunica pe internet.

Am aflat că protocolul HTTP este utilizat pentru a comunica între browsere și servere pe internet și constă dintr-un standard general convenit pentru modul în care sunt trimise și primite cererile.

De asemenea, am explorat importanța de a avea astfel de standarde de comunicare și avantajele de a avea un standard convenit în general.

Există multe mai multe fațete pentru a înțelege cum funcționează internetul și ce fel de răspunsuri puteți primi.

Dacă aveți un moment, acest videoclip de 18 minute care vă învață cum să construiți un server web va trece în revistă o mulțime de subiecte tratate în acest articol și va trece peste unele noi:

https://www.youtube.com/watch?v=videoseries

Acum ar trebui să aveți o înțelegere generală a modului în care funcționează comunicarea pe internet.

Dacă credeți că altcineva ar putea beneficia de acest articol, vă rugăm să răspândiți vestea. Și dacă vrei să știi când postez mai mult conținut, poți abonați-vă la canalul meu YouTube, sau poți să mă urmărești @foseberg pe Twitter.