HTML

RobbeR tech és magánblogja

kontakt:RobbeR at RobbeR pont hu

Egyéb publikálások: Elte-IK blogja
saját weboldal: RobbeR.hu

Webisztán

Nincs megjeleníthető elem

Címkék

Indafotós képek

Friss topikok

Linkblog

Az Internet működése laikusoknak 1.rész - a HTTP

2008.08.18. 14:42 RobbeR

Nem vagyok tanár, de mivel tudom, hogy a blogot elsősorban a nálam kevésbé kockák olvassák, ezért megpróbálom bemutatni a web működését amatőröknek a saját látószögemből. Mivel én is amatőrnek számítok a témában, ezért valószínű, hogy hibák lesznek benne, kérem a nálam jobban hozzáértőket, hogy javítsanak nyugodtan kommentben, vagy levélben.

A www a World Wide Web szóból következik, aminek jelentése ugyebár világméretű hálózat. Ez valamikor a 20. század második felében kialakult ARPA rendszerből fejlődött tovább az USA-ban, de a történelembe inkább nem mennék bele, mert azt még annyira sem vágom, mint a webet magát. A lényeg, hogy az arcok, amióta észrevették, hogy milyen nagyot alkottak, folyamatosan fejlesztgetik a külömböző protokollokat illetve technológiákat, az adatforgalom sebességének növelése érdekében.

Komoly tévhitet képez a világban, hogy az Internet az a böngészőben megjeleníthető weboldalak összessége. Nagy tévedés, ugyanis ez csak a HTTP protokoll által szolgáltatott tartalom, amely a teljes internetes adatforgalomnak kevesebb, mint az 1/10-ét képezi.

Az internetet úgy kell elképzelni, mint egy hardvereszközt, ami az egész világot lefedi, a rajta elérhető szolgáltatásokat pedig nevezzük "szoftvereknek". Kétségkívül az egyik legelterjettebb szolgáltatás ("szoftver") a 80-as porton kommunikáló HTTP protokoll, amihez tartozik egy kommunikációs nyelv is. Ezt a kommunikációs nyelvet a hozzám hasonló szuperkockákon kívül csakis a böngésző és a webszerverek használják (meg esetleg spéci programok, de ebbe ne menjünk bele). A HTTP protokoll célja -hagyományos esetben- a távoli "szerveren/kiszolgálón" elhelyezkedő weboldal letöltése a helyi számítógépre. Ezért ha a böngészőbe beírunk egy címet és rábasszuk az entert, akkor a következő folyamat történik:

1. A böngésző a HTTP kommunikációs nyelven megfogalmazott kérést küld a szerver felé, hogy "Nekem kellene ez a weboldal, add má ide pls". A következő kérést az én Firefox 3 böngészőm küldte az iwiw.hu szervere felé:

GET /pages/main/index.jsp HTTP/1.1
Host: www.iwiw.hu
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: lastHit=1219062911836; WACID=1214386170000A508114132; axelero=PUGSFAPIPKPPOPOOFMIHPVNIUHSKIMOGNDHUGGLMLTBBCBIDEGFIJOIFPTQRSDCTJGMGUMWBGBCBIDEGFIJBCBIDEGFJE; ajaxable=1;

2. A szerver válaszol. Többféle üzenetet küldhet vissza a böngészőnek, és minden üzenethez tartozik egy azonosító szám is, úgynevezett Status Code. Ezeknek listáját >>itt<< találod. A legismertebb visszatérési érték talán a Not Found (a keresett weboldal nem található), melynek Status Code-ja a 404. Ilyet könnyedén előidézhetünk, ha nem létező oldalt próbálunk letölteni (de szerintem mindenkinek ismerős a 404 Not Found hibaüzenet).
A leggyakoribb azonban, ha a 200-as üzenetet kapjuk vissza, ez az OK (minden rendben, odaadom a weboldalt vazze) üzenet. A fenti kérésre az iwiw.hu szervere az alábbi üzenetet küldte a böngészőmnek vissza:

HTTP/1.x 200 OK
Server: Apache-Coyote/1.1
X-ServerID: app81
Pragma: no-cache
Expires: -1
Cache-Control: no-store, no-cache, must-revalidate
Set-Cookie: lastHit=1219063526400; Expires=Tue, 07-Apr-2009 00:18:46 GMT; Path=/
Content-Type: application/xhtml+xml;charset=UTF-8
Date: Mon, 18 Aug 2008 12:45:25 GMT
Connection: close

Ebből kiderül, hogy a böngészőm az iwiw szerveren található Apache-Coyote webszerverrel beszélget, valamint az is, hogy a webszerver érvényes karakterkódolása UTF-8.

3. A böngészőm ezek után elkezdi szépen letölteni a kért oldal forráskódját. A forráskód egy olyan leíró kód nagyrészt HTML nyelven, amely leírja, hogyan néz ki a weboldal. Minden oldal forráskódját mi magunk is megtekinthetjük, a böngésző Nézet/Forrás menüpontban, vagy akár a jobb gombos menüben is. Ezt a forráskódot megkapva a böngésző értelmezi, lefordítja, és ennek alapján megjeleníti a weboldalt.
Tehát a böngésző a HTTP kommunikáción kívül még egyfajta interpreterként is funkcionál, amely HTML kód alapján kirajzolja nekünk a weboldalt.

Ezek a lépések egy oldalletöltésnél többször is ismétlődhetnek, mert a weboldalon található, és a forráskódban fellelhető képek letöltéséhez a böngészőnek megint engedélyt kell kérnie a webszervertől. A HTTP nyelv egységesen ugyan olyan, függetlenül attól, hogy Internet Explorer, Mozilla Firefox, Opera, Safari, vagy más egyéb böngészőt használunk. A böngészők közötti külömbség az interpreterben található, mert minden böngésző másképp fordítja le ugyanazt a forráskódot. Ezért van az, hogy különböző böngészőkben nem ugyanúgy néznek ki a weboldalak sem, annak ellenére, hogy manapság már szabvány van a webfordítók működésére.
 

A HTTP tehát nagyon nagy vonalakban így működik, a többi szolgáltatás működését nem írom le ilyen részletesen (mert nem is ismerem őket), de például az FTP(File Transfer Protocoll)-t egy normálisabb böngésző már támogatja.

Egyéb protokollok:

  • IRC
  • netbios
  • telnet
  • SMTP
  • POP3
  • NTP

A torrentprogramok is külön portokat használnak, jelenleg ezeken folyik át az Internetes adatforgalom 80%-a. Egy online rádió is más porton fut, illetve még az MSN sem a http portot használja, hanem a 6901& 6891-6900 portokat. Van egy EtherDetect nevű kis szoftver, amivel nyomon lehet követni a számítógépre bejövő és onnan kimenő adatokat. Nagyon érdekes, hogy mikor valaki nálam bejelenkezik MSN-re, a gépem ezt az üzenetet kapja a web felől az MSN porton át:

UBX valaki@hotmail.com 1 118..<Data><PSM></PSM><CurrentMedia></CurrentMedia><MachineGuid>{0753F931-C107-42A5-8812-A13965CBCC33}</MachineGuid></Data>

Ettől kezdve ez már az MSN szoftver programozóinak jelölésrendszere, ahol az UBX is jelent valamit, az email cím utáni számok is jelentenek valamit, de ezt csak a mi, saját MSN-enünk tudja értelmezni, és feldolgozni. (Arra már rájöttem, hogy az UBX jelenti azt, ha valaki Elfoglalt állapotba jelentkezik be).

Ennek még lesz folytatása, mert van még egy csomó minden, amit le szeretnék írni.

3 komment · 1 trackback

Címkék: böngészők tech kocka http interpreter

A bejegyzés trackback címe:

https://robber.blog.hu/api/trackback/id/tr28621333

Trackbackek, pingbackek:

Trackback: Webes szabványok 2008.08.18. 16:27:09

Hogyan működik az internet?Ez a bejegyzés a webes szabványok harmadik leírása. Az eredeti, angol nyelvű cikket Jonathan Lane írta. Az előző cikk: Az internet és a web története, a webes szabványok evolúciója A következő cikk: A webes szabványok modellje…

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

wad 2008.08.18. 17:57:56

hát ez komoly. aki eddig csak annyit tudott a netről, hogy beírja az url-t (azt sem tudja miaz), és rábassza az enter, akkor bejön az oldal, azok úgysem értik meg amit írtál.
amúgy nem a http-be kellett volna belevágni kapásból. oké, hogy az a legismertebb, de kezdhetted volna még alapabbról. pl hogy kell elképzelni magát a büdös nagy netet. meg ilyenek, amiket tavaly tanultunk hálózaton :D

Bozsi · http://bozsiii.blog.com 2008.08.21. 23:39:52

"Nekem kellene ez a weboldal, add má ide pls" áh vaze bírom az ijeneket, tudok szakadni rajta.

amúgy honnan szeded h mi az "üzenet", szal azok amiket dőlt betűvel írtál? a EtherDetect-t lehet erre használni?

RobbeR 2008.08.22. 00:47:16

Az EtherDetect-et is lehet, de van egy firefox add-on direkt erre a célra: Live HTTP headers
süti beállítások módosítása