2020. április 10., péntek

A HTTP (protokoll) szerepe az adattovábbításban


A Web kliens-szerver architektúrát alkalmaz az információk megosztására és terjesztésére. A rendszer működése során a felhasználó gépén futtatott kliens program - a web-browser - kérést intéz az Internetre rákapcsolt web-szerverhez, ami az üzenetet értelmezi és a kért dokumentumot ill. kiegészítő információkat küld vissza a kliens felé. A megkapott fájlt aztán értelmezi a browser és annak tartalmától függően megjeleníti, lemezre menti vagy éppenséggel - pl. Java kód esetén - elkezdi futtatni azt a felhasználó gépén. A két gép között az információ-csere a HTTP protokoll segítségével zajlik.
Az HyperText Transfer Protocol (Hipertext Átviteli Protokoll) kialakítása során elsődleges szempont volt az egyszerűség és gyorsaság, amik elengedhetetlen feltételei egy jól működő oszott, hipermédia alapú információs rendszernek. A HTTP egy objektum-orientált, állapot nélküli általános protokoll, ami azonban jóval több feladat ellátására is képes lehet, mint web-oldalak továbbítása.
Az, hogy a protokoll állapot nélküli azt jelenti, hogy a teljes kommunikáció folyamata jól behatárolható, egyedi kérések sorozatából áll, melyek mindegyike során a kliensnek minden szükséges információt újból el kell küldenie a szerver felé. Bár e megközelítés ineffektívnek bizonyul, egy viszonylag állandó kapcsolat - pl. helyi hálózat szervere és a munkaállomások - esetén, egyértelműen sokkal hatékonyabb az olyan hipermédia rendszerek, mint pl. a web esetén is, ahol alapvetően alacsony (<50%) az esélye annak, hogy a kliens két egymás utáni kérése ugyanarra a szerverre fut be, hisz a hiperlinkek segítségével a felhasználó - teljesen észrevétlenül - keresztül-kasul vándorol a hálózaton. Az egy-egy oldal lekérése során végrehajtásra kerülő átviteli tranzakció a következő alapvető lépésekből áll:
  • a kliens és a szerver közti kapcsolat felépítése (a HTTP általában a 80-as TCP/IP portot használja a szerver gépen, de az URL segítségével bármilyen más, tetszőleges port is megadható)
  • a kliens egy kérést (request) intéz a szerver felé
  • a szerver a kérés fogadása és az annak megfelelő feladatok elvégzése után egy választ (response) küld vissza a kliens felé
  • mindkét fél bontja a kapcsolatot
A kliens az összeállított kérésben információkat küld saját magáról (pl. a browser típusa és verziója), az alkalmazott formátumról (pl. az alkalmazott HTTP protokoll verzió) valamint az URL-ben a host-név utáni - a felhasználó által közvetlenül begépelt, vagy egy hiperlinkben megadott - kiegészítő paramétereket, melyek további információkat nyújthatnak a szervernek az információ típusát, jellegét illetően vagy speciális futtatható modulok esetén végrehajtási módozatával kapcsolatban. Ezen kívül egy ún. metódust is meghatároz, azaz megmondja, hogy milyen műveletet kíván a megadott objektumon elvégezni. Az objektumokon elvégezhető metódusok az alkalmazott információs rendszer jellegétől függenek és a WWW esetén pl. a következő feladatok elvégzésére alkalmasak: lekérdezni, hogy egy objektum állapota megváltozott-e (azaz, hogy újra kell-e olvasnia, vagy előveheti egy régebbi verzióját), letölteni, törölni, stb.
Ezen információkat a kliens egy, az Internel Mail-ben is alkalmazott fejléchez hasonló, alapvetően szöveges jellegű információs blokkban kódolja és ezt küldi el a szerver felé.
A szerver a kért információs blokk előállítása után azt egy hasonló fejléccel ellátva küldi vissza a kliensnek. A szöveges blokk elsősorban a visszaküldött objektum jellemzőit írja le: pl. kódolási formátum (sima szöveg, zip, stb.), típus (szöveges információ, kép, videó, hang, bináris állomány, stb.), alkalmazott nyelv, stb. A választ megkapva azután a browser ezen információk alapján tudja eldönteni, hogy mit is kell csinálnia az objektummal: megjelenítenie, lemezre menteni vagy éppenséggel lefuttatni.

Nincsenek megjegyzések:

Megjegyzés küldése