Hogyan működik a HTTP és miért fontos - egyszerű angol nyelvű magyarázat

Képzelje el, hogy a háza hatalmas számítógép. A Goodison Street vagy a 4. sugárút helyett otthoni címe számokból áll. Például: 112.231.31.20.

A futurisztikus filmhez hasonlóan a városod is nagyrészt az égen található, high-tech robotokból áll, amelyek házról házra járnak, üzeneteiket továbbítják és válaszokat adnak.

Megvan a kép?

Áttekintés az internet működéséről

Kissé leegyszerűsítve ez történik, amikor beír egy webcímet a böngészőbe:

  • Megtalálja annak a „háznak” a címét, ahová el szeretné küldeni a kérést
  • A robot postás segítségével küldi el a kérést
  • Türelmesen várja a robotpostás válaszát

Most mindezt elvonják tőled, mint végfelhasználótól. Beírja a webcímet a böngészőbe, és a weboldal megjelenik a szeme előtt - mint a varázslat.

Mint minden kellően fejlett technológia, az átlagos felhasználó sem használhatná az internetet ezek nélkül az absztrakciók nélkül.

Legtöbbször nem kell aggódnia valami működése miatt - csak tudnia kell, hogy működik.

Bizonyos tantárgyak esetében azonban egy kicsit mélyebbre merülés az anyákban és csavarokban hasznos, vagy csak a kíváncsiság viszketése.

E cikk elolvasásával nem válik az internet technikai részleteinek szakértőjévé - ez sokkal több időt és erőfeszítést igényel -, de madártávlatból és jobb megértéshez jut.

Ha úgy találja, hogy többet szeretne megtudni, van egy lejátszási listám a YouTube-on, amely mélyebbre mutat.

Az üzenetküldő rendszer

A cikk elején található metaforából megtudtuk, hogy az internet üzenetekből áll. Ezeket az üzeneteket többnyire az úgynevezett HTTP protokoll segítségével küldik el.

Jegyzőkönyv. Ez egy félelmetes szó. Ez egy szem villog, és bezárja a böngésző típusú szót. Tehát bontsuk le könnyebb kifejezésekre.

A protokoll csak díszes szó az egyetértésre.

Tegyük világosabbá egy hasonlattal.

Mondd, hogy te és a legjobb barátod titkos üzeneteket hagysz egymásnak. Amikor a küszöbön talál egy darab papírt a „ballfoot” felirattal, tudja, hogy barátja találkozni akar veled focizni ma este 20: 00-kor.

Tudja ezt, mert megállapodott abban, hogy a házához szállított papíron a „ballábas” szó játékmeghívást jelent.

Most egy probléma merül fel, amikor elkezdi elhagyni a többi barátjának a „ballfoot” feliratot anélkül, hogy elmondaná nekik a titkos jelentést. Nem tudnának mit kezdeni az információval.

Megtalálják a küszöbön a cetlit, egy percig kapkodják a fejüket, majd folytatják a Fortnite játékát a nappaliban. És te és egy másik barátod átadnád a labdát közted. Előre-hátra. Előre-hátra. Amíg az unalom elviselhetetlenné válik, és mindketten hazamennek.

De ennek nem kell így lennie. Mi van, ha elmondja a barátainak, hogy mit jelent a „labda”? Most már minden ismerősöd tudná és megosztaná azt az egyetértést, hogy a „ballfoot” világjegy azt jelenti, hogy 20:00 órakor megjelennek és fociznak a helyi bíróságon.

Siker.

Lényegében ezt képviseli a HTTP protokoll. Megállapodtunk abban, hogy ha egy üzenetet egy meghatározott módon küldünk, akkor a szerver meg fogja érteni és cserébe választ ad.

Az üzenet felépítése

Vizsgáljuk meg közelebbről a HTTP-megállapodást. Kérésekből és válaszokból áll. Egyszerűen fogalmazva, kérdez valamit, majd visszakapja a választ valami szerverről.

Mielőtt folytatnánk, módosítsuk metaforánkat a kezdetektől, hogy jobban megértsük a HTTP kérés / válasz ciklusokat.

Emlékszel a házról házra járó robotokra, amelyek üzeneteket hordoznak? Most képzelje el, hogy ezek a robotok valakihez tartoznak.

Saját személyes robotja van, és megkérheti, hogy üzenetekkel küldjön bármilyen címet (IP-címet). Miután robotja megérkezett az üzenetével a megadott címre, beírja és bátran kijelenti, hogy van üzenete. Akkor elmondja az üzenetet.

A metafora kedvéért képzelje el, hogy a házak (szerverek) ajtajai olyanok, mint a gyűrűk urában található moria bányáinak bejárata. Csak akkor nyitja ki az ajtót és engedi be, ha a szavakat helyesen mondják ki.

Ebben az esetben csak akkor kapnak válaszüzenetet, ha robotjai meghatározott módon beszélik az üzenetet.

Ez a HTTP protokoll a munkahelyen. Van egy előre definiált szabályrendszer, amely irányítja, hogyan néznek ki a kérelem és a válaszüzenetek.

Ezen a ponton arra lehet kíváncsi, honnan származnak ezek az üzenetek. Biztosan nem maga írja be őket, amikor beírja a weboldal címét a böngészőbe.

Nos, az egészet a böngésző automatikusan kezeli. Amikor beír egy címet, a böngészője gondoskodik a HTTP kérés üzenetének elkészítéséről és elküldi azt a szervernek. A HTTP kérés üzenet így néz ki:

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

Félelmetesnek tűnik, igaz?

Jó, hogy a böngésző ezt megteszi helyettünk.

Vessünk egy közelebbi pillantást csak az első sor: GET / HTTP/1.1. Ez a vonal arra készteti a robotot, hogy felmenjen a Google házába, és azt mondja: "Kérem, hogy megkaphassam azt, amije van a webhely gyökeréhez?" (Ez azt jelenti, hogy a www.google.com címet akarjuk letölteni, nem pedig a www.google.com/home címet.)

Tehát most a megfelelő módon juttattuk el üzenetünket a Google házához (a szerverhez). Az ajtók világítanak és kinyílnak.

Belül egy másik robotot lát. Mögötte egy sor lockboxes jelölt szöveget, mint a GET / HTTP/1.1és GET /search HTTP/1.1. Ha a kérése megegyezik az egyik ilyen záródobozzal, a robot feloldja azt, és megadja a robotnak a tartalmát, ami arra készteti, hogy a válaszával gyorsan térjen vissza hozzád.

A válasz

A válasz, amelyet visszakap, körülbelül így fog kinézni:

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

Most soha nem fogja látni ezt a választ, hacsak nem akarja megnézni a böngésző fejlesztői eszközeiben. De ennek ellenére megkapod.

A következő esemény attól függ, hogy milyen választ kap, és mi volt a szerver lockboxjában.

Sok esetben az, amit cserébe kap, egy HTML dokumentum. A HTML képviseli a weboldalak felépítését és meghatározza, hogy a böngésző mit jelenítsen meg.

Ha a www.google.com webhelyre megy, cserébe HTML-fájlt kap, amely meghatározza, hogy a google.com webhely hogyan jelenik meg a böngészőben.

Ha van egy kis ideje, ez a 11 perces videó mélyebben belemerül a HTTP kérésekbe és válaszokba:

Következtetés

Ebben a cikkben áttekintettük az internet működését és a HTTP használatát az interneten történő kommunikációhoz.

Megtudtuk, hogy a HTTP protokollt a böngészők és a szerverek közötti kommunikációra használják az interneten, és a kérések küldésének és fogadásának egy általánosan elfogadott szabványából áll.

Megvizsgáltuk az ilyen kommunikációs szabványok fontosságát és az általánosan elfogadott szabványok előnyeit is.

Sokkal több szempontja van annak, hogy megértsük az internet működését és milyen válaszokat kaphatunk.

Ha van egy kis ideje, ez a 18 perces videó, amely megtanítja, hogyan kell webszervert építeni, áttekinti a cikkben tárgyalt témákat, és áttekint néhányat:

Most már általános ismeretekkel kell rendelkeznie arról, hogyan működik az internetes kommunikáció.

Ha úgy gondolja, hogy valaki más profitálhat ebből a cikkből, kérjük, terjessze a hírt. És ha tudni akarod, hogy mikor teszek közzé további tartalmat, feliratkozhatsz a YouTube csatornámra, vagy követhetsz engem @foseberg a Twitteren.