Fő tartalom
Code.org
Tantárgy/kurzus: Code.org > 1. témakör
2. lecke: Hogyan működik az internet?HTTP és HTML
David Karp a Tumblr alapítója és Jasmine Lawrence, az Xbox programmenedzsere részletesen elmondják, hogyan küldhetünk és fogadhatunk fájlokat és weboldalakat a HTTP és HTML használatával.
Szeretnél részt venni a beszélgetésben?
Még nincs hozzászólás.
Videóátirat
AZ INTERNET
HTTP ÉS HTML Szia, Jasmine Lawrence vagyok, program menedzser az Xbox One mérnöki csapatában. Az egyik legnagyobb projektünk
az Xbox Live, egy online szolgáltatás, ami összeköti a világ különböző
részeiről a gémereket az internet segítségével. Ez nem egyszerű, sok mindenre van szükség a háttérben. Az internet teljesen megváltoztatja azt, ahogy az emberek kapcsolatba lépnek
és kommunikálnak egymással. De hogyan működik
mindez? Hogyan kommunikálnak egymással a világ különböző pontjain
levő számítógépek? Vegyük a webböngészést! Először megnyitod a böngésződet. Ez az az alkalmazás,
aminek segítségével eléred a webet. Ezután beírod a webcímet vagy URL-t, az Uniform Resource Locator-t, ami a kívánt weboldalra mutat,
pl. ezt: Tumblr.com. (zene) Szia! David Karp vagyok,
a Tumblr alapítója. Ma arról fogunk beszélni, hogy hogyan működnek
a mindennap használt webböngészők. Biztos elgondolkodtál már azon,
mi történik valójában, amikor beírsz egy címet a böngészőbe,
majd megnyomod az Entert. Ez tényleg annyira észbontó,
amennyire el lehet képzelni. Tehát abban a másodpercben a géped elkezd kommunikálni
egy másik géppel, amit szervernek hívunk, ami legtöbbször
több ezer kilométernyire van. Ezredmásodpercek alatt a te géped lekéri a szervertől a weboldalt, a szerver pedig válaszol a gépednek egy HTTP nevű nyelven. A HTTP a Hypertext
Transfer Protocol rövidítése. Ezt olyan nyelvként képzelheted el, amivel az egyik számítógép
egy másiktól dokumentumot tud kérni. És ez igazándiból elég
egyértelmű. Ha megvizsgálnál egy üzenetváltást a géped és a webszerver között
az interneten, ennek nagy része „GET” kérés (request). Ezeket a kéréseket
egyszerűen a „GET” szó és a kért dokumentum
neve alkotják. Ha bejelentkezel a Tumblr-ra, és betöltöd a kezdő oldalunkat, akkor egy GET kérést küldesz a Tumblr szerverének,
ami ebből áll: „GET /login”. Ez megmondja a szervernek, hogy szükséged van
a Tumblr login oldal HTML kódjára. A HTML a Hyper Text Markup nyelv
rövidítése. Ezt a nyelvet pedig úgy képzelheted el, hogy ez mondja meg a webböngészőnek,
hogyan nézzen ki egy oldal. Vegyük mondjuk a Wikipediát, ami egy egyszerű,
nagy dokumentum. A HTML nyelv írja le, hogy az a cím ott nagybetűs
és félkövér legyen, milyen betűtípust használjon, egy adott szöveg elvezessen
egy másik weboldalra, egyes szövegeket félkövéren, másokat dőlten szedjen, a lap közepén legyen egy kép, ami legyen jobbra vagy balra igazítva. A weboldalhoz tartozó szöveget közvetlenül a HTML tartalmazza, de más részek, pl. a képek, videók külön fájlban vannak
saját URL-lel, amit szintén le kell kérni. A böngésző ezekhez
külön HTTP kérést küld, és ahogy megjönnek a képek,
sorban megjeleníti azokat. Ha egy oldalon sok kép van, mindegyikhez külön
HTTP kérés tartozik, és az oldal lassabban töltődik be. Időnként a web böngészése során nemcsak lapokat kérünk
a GET kérésekkel. Van, hogy információt küldünk, például ha űrlapot töltünk ki,
vagy keresést indítunk. A böngésző ezt az információt sima szövegként küldi el
a web szervernek HTTP post kérelemként. Mondjuk bejelentkezel a Tumblr-be. Először is kiadsz egy „POST” kérést, egy „POST”-ot a Tumblr login oldalának, amihez adat is van kapcsolva. Benne van az email címed
és a jelszavad. Ez elmegy a Tumblr szerveréhez. A Tumblr szervere megállapítja,
hogy mondjuk te vagy Dávid. Visszaküld egy weboldalt
a böngésződnek „Success! Logged in as David"
(Sikeresen bejelentkeztél Dávid néven) szöveggel. Ehhez a weboldalhoz hozzácsatol némi
láthatatlan süti adatot, amit a böngésző felismer
és eltárol, és ez fontos, mert csak így
tudja a weboldal megjegyezni, hogy te ki vagy. Ez a süti adat valójában egy Tumblr azonosító. Egy szám, ami
Dávidként azonosít téged. A böngésződ megjegyzi
ezt a számot, és amikor legközelebb
frissíted Tumblr-t, amikor újra ellátogatsz Tumblr.com-ra, akkor a böngésződ
automatikusan hozzácsatolja ezt az azonosítót
a kérelemhez, amit elküld a
Tumblr szerveréhez. Amikor a Tumblr szervere
látja ezt a böngésződtől jövő kérést, látja az azonosító számot, és így tudja,
hogy ez egy kérés Dávidtól. Az internet teljesen nyílt, az összes kapcsolata
megosztott, és az információt
sima szövegként továbbítja. Ez lehetővé teszi,
hogy egy hacker ellopja az interneten továbbított személyes információt, de a biztonságos weboldal
megakadályozza ezt úgy, hogy megkéri a böngészőt, hogy egy biztonságos csatornán
kommunikáljon, a Secure Socket Layer használatával,
illetve ennek utódja, a Transport Layer Security
használatával. Az SSL-t és a TLS-t
elképzelheted úgy, mint egy biztonsági réteget
a kommunikáció körül, ami megvédi a lopástól
és a belepiszkálástól. Az SSL vagy a TLS akkor aktív,
ha a böngésző címsorában egy kis lakatot látsz a HTTPS mellett. A HTTPS protokoll biztosítja, hogy a HTTPS kérelmek biztonságosak
és védettek legyenek. Amikor a weboldal biztonságos kapcsolat
megindítását kéri a böngésződtől, először egy digitális
tanúsítványt készít, ami olyan, mint
egy hivatalos igazolvány. Ez azt bizonyítja,
hogy a weboldal nem hamisítvány. A digitális tanúsítványt
megbízható intézmények állítják ki, amelyek meggyőződnek
a weboldal hitelességéről, és arról igazolást állítanak ki, ahogy a kormány személyit és
útlevelet ad ki. Ha egy weboldal úgy próbál
biztonságos kapcsolatot kezdeményezni, hogy nincs megfelelő digitális
tanúsítványa, akkor a böngésződtől
figyelmeztetést kapsz. Ez a webböngészés alapja, az internetnek a
mindennap látható oldala. Összefoglalva: a HTTP és a DNS vezérli a HTML
küldését és fogadását, a médiafájlokat,
mindent a hálózaton. Mindezt a háttérben a TCP/IP és a router hálózatok
teszik lehetővé, amik kis csomagokra bontják és
így továbbítják az információt. Ezek a csomagok 0-k és 1-esek
bináris sorozatából állnak össze, amit fizikailag továbbítanak
elektromos vezetékeken, optikai kábelen
vagy wifi hálózaton. Szerencsére, ha megértetted
az internet rétegeinek működését, megbízhatsz benne anélkül, hogy az összes részletre
emlékezned kelljen. Bízhatunk abban,
hogy az összes réteg jól fog együttműködni
az információ sikeres továbbításában, gyorsan és megbízhatóan.