Title: Web Technol
1Web Technológiák
- A Web és a HTTP protokoll
Baksáné Varga Erika
ME Általános Informatikai Tsz.
2Az Internet
- Az Internet a világ legnagyobb számítógép
hálózata (hálózatok hálózata internetwork),
amelyen az adatforgalmat a TCP/IP
protokoll-együttes kezeli. - TCP (Transmission Control Protocol) az Internet
- IP (Internet Protocol) szabványa
- A TCP/IP protokollcsoport lehetové teszi az
egymással összekapcsolt heterogén hálózatok
közötti kommunikációt.
3Protokoll
- Azon kommunikációs szabályok és üzenetformátumok
együttese, amelyeket a hálózatba kapcsolt
számítógépeknek be kell tartaniuk, hogy (üzenetbe
csomagolt) adatokat cserélhessenek egymással. - A programok az Interneten folyó mindenféle
kommunikációhoz protokollokat használnak.
4TCP/IP
- A felso TCP réteg az üzenetek csomagokra
bontását, ill . azok összerakást végzi. - Az IP réteg a csomagok (packet) cím részét kezeli
(gateway ez alapján továbbítja a csomagot, akár
különbözo útvonalakon). - 1960 vége 1970 eleje ARPA (Advanced Research
Projects Agency), DOD (Department of Defence) - 7/8-ados szabály (hidegháború)
- teljesen decentralizált
- teljesen redundáns
- rugalmas architektúra (fájl, hang továbbítás)
5Miért a TCP/IP?
- Elfogadott ipari szabvány protokoll
- Irányítható protokoll együttes (routable)
- Különbözo operációs rendszereken is rendelkezésre
áll (Unix - Windows) - A protokollok nyilvánosak és szabadon
felhasználhatóak (nincs jogdíj) - Ez egy jól megtervezett protokoll
- Ez egy nyílt szabvány, egyetlen kereskedo sem
uralhatja, bárki használhatja és ez alapján
alkalmazásokat fejleszthet
6A TCP/IP nyílt szabvány
- Internet Society (ISOC) bátorítja a fejlesztést
és elosegíti az Internet hozzáférhetoségét. - Internet Architecture Board (IAB) az ISOC
technikai bizottsága, az szabványok
felállításáért és közzétételéért felel (RFC). - Az IAB 3 csoportot irányítInternet Research
Task Force (IRTF) a TCP/IP fejlesztéséért
felel,Internet Engineering Task Force (IETF) az
Internet problémák megoldására és az új
szabványok elfogadtatásáért felel,Internet
Assigned Numbers Authority (IANA) a
protokollokhoz egyedi számot v. portot rendel.
7TCP/IP, RFC
- Request for Comment (RFC) a TCP/IP szabványokat
konszenzussal alakítják ki. - RFC formájában bárki javaslatot tehet, egy ido
múlva vagy elfogadják, vagy elutasítják. - Az Internet Network Information Center (InterNIC)
feladatai - az IP címek kiosztásának felügyelete,
- a szervezetek domain nevei kiosztásának
felügyelete.
8OSI - TCP/IP
Forrás SearchTechTarget.com.
9A TCP/IP rétegei
- A Network Interface réteg az OSI fizikai és
adatkapcsolati rétegének felel meg, a host
hálózati kapcsolódását határozza meg. A keretek
számítógépek közötti cseréjéhez szükséges
hardvert és szoftvert tartalmazza. - LAN alapú (pl. Ethernet) vagy WAN-alapú (pl.
ISDN) technológiát használhat.
10A TCP/IP rétegei
- Az Internet réteg több protokollt használ a
csomagok kézbesítéséhez - IP (Internet Protocol) a csomagok címzéséért és
a hálózatok közötti útvonal-irányításáért felel.
Biztosítja a megfelelo célhálózat elérését. - ARP (Address Resolution Protocol) a hardver
címek biztosításért felel és megfelelteti azokat
az IP címeiknek, amikor a cél számítógép
ugyanazon a hálózaton van.
11A TCP/IP rétegei
- ICMP (Internet Control Management Protocol)
hibajelzésre használatos és üzenetet küld a
csomag kézbesítésérol. - Példa üzenetek
- Destination unreachable a router nem találja a
célt. - Time exceeded a csomag TTL-je (Time to Live)
elérte a zérust (255-rol indul, routerenként
eggyel csökken).
12A TCP/IP rétegei
- Transport Layer a kiinduló és a cél számítógép
közötti kommunikációt biztosítja és az
alkalmazási réteg információit csomagokra
tördeli. A adat kézbesítéséhez két módszert
használ - kapcsolat-orientált kézbesítés a TCP
használatával, - kapcsolat-nélküli kézbesítés az UDP használatával.
13A TCP/IP rétegei
- Application Layer itt futnak a TCP/IP
szolgáltatások (magas-szintu protokollok), mint
pl. FTP, HTTP és SMTP. - A TCP/IP környezetben általában két alkalmazás
programozási interfészt használnak (API) a
socket-eket és a NetBIOS-t.
14A TCP/IP hálózati modell
- A TCP/IP szerint kialakított hálózatok az
ISO/OSI referenciamodell hét szintje közül csak
ötöt használnak.
15A Web
- A Web 1989 márciusában született meg.
- A Web megalkotója Tim Berners-Lee (CERN, Genf)
- Célja dokumentumok összekapcsolása (megosztása)
hálózaton keresztül - Javaslat hipertext-rendszer (független
dokumentumok összekapcsolása és a kapcsolatokon
keresztüli megtekintése)
16A Web
- A Web elso nyilvános használata 1992 jan.
- A dokumentumokat (helyi) Web kiszolgálókon
tárolta. - Az adatokhoz Web böngészok segítségével fértek
hozzá. - Ma (World Wide Web)
- A felhasználók rákapcsolódnak egy Web
kiszolgálóra és lekérik a dokumentumokat. - A Web kiszolgálók a kérésre válaszolva
szolgáltatják a dokumentumokat. - A felhasználók böngészok segítségével tekintik
meg a dokumentumokat. - Egy kiszolgáló egyidejuleg több felhasználói
kérést is teljesít. -
17A Web és az Internet
- A Web az Internet tetején foglal helyet.
- Azaz a Web az Internetet használja a
kommunikáció alapjául. Az Internet az a szállító
mechanizmus, ami lehetové teszi, hogy a böngészo
adatokat küldjön és kapjon. - A Web egymással összekapcsolt dokumentumokból
áll. Segítségével haladhatunk végig az egymáshoz
kapcsolódó dokumentumokon.
18WWW definíciók
- Technikai meghatározás
- Az Interneten található összes eroforrás és
felhasználó, akik a Hypertext Transfer Protocol-t
használják. - A World Wide Web Corsortium (W3C, megalapítását
Tim Berners-Lee támogatta) általánosabb
meghatározása - A World Wide Web a hálózaton elérheto információk
univerzuma, az emberi tudás megtestesülése.
19W3C
- Saját meghatározása
- A World Wide Web Corsortium azért létezik, hogy a
Web összes lehetoségeit valóra váltsa. - A W3C egy ipari konzorcium, ami a Web
fejlodéséhez szükséges szabványokat és a WWW
termékek közötti együttmuködést mozdítja elo,
specifikációk és referencia szoftverek
eloállításával. Bár ipari szereplok alapították,
cég semleges és termékei mindenki számára
ingyenesek. - A Konzorcium nemzetközi, az USA-ban a MIT
Laboratory for Computer Science és Európában az
INRIA ad neki közösen otthont.
20A HTTP protokoll
- A HTTP (Hypertext Transfer Protocol)
kifejezetten a Web számára megtervezett hálózati
protokoll. - Vagyis a Webnek saját kommunikációs szabályai
vannak, amelyeknek együtt kell muködniük az
Internet protokollokkal, hogy továbbíthatók
legyenek a Web dokumentumok.
21A HTTP protokoll
- A Web HTTP protokollját úgy képzelhetjük el,
mint ami az Internet TCP/IP protokollja fölött
helyezkedik el. Ahhoz, hogy használhassuk a Web
világhálót, elozoleg rá kell kapcsolódnunk az
Internetre. - Azaz a Webet Internet nélkül nem érhetjük el.
22A HTTP protokoll
- A HTTP vezérli a Web kiszolgáló és a böngészo
közötti együttmuködést. - Böngészovel Web-helyhez kapcsolódunk a böngészo
a Web-hely kiszolgálójától kéri a Web-oldal (ami
egyszeru, HTML kódjeleket és ASCII szöveget
tartalmazó fájl) megjelenítését. - Válaszul a Web kiszolgáló elküldi a kért fájl
másolatát a böngészonek. A böngészo a fájl
megjelenítésekor a HTML kódjeleket olvasva
formázza meg a szöveget. Amikor grafikának
megfelelo kódjelet olvas, kéri a kiszolgálót hogy
küldje el a grafikát tartalmazó fájl másolatát.
23Dokumentumformátumok a Weben
- A Web dokumentumok formátumát (és azt, hogy
miképpen továbbíthatók multimédiás adatok
bináris fájlok, képfájlok, mozgóképfájlok,
audiófájlok, alkalmazásfájlok stb. - az Internet
levelezoszabványaival) a MIME (Multipurpose
Internet Mail Extension) specifikáció írja elo. - Elodje
- RFC 822 a számítógépek között továbbítandó
szöveges üzenetek (e-mail) szintaxisát írta le.
24A MIME használata
- A Web kiszolgáló az Interneten keresztül a
böngészonek elküldött fájl típusát leíró
információt beilleszti egy MIME fejlécbe. A
böngészo ez alapján határozza meg a törzs (a
kiszolgáló által elküldött fájl) típusát. - A törzs
- lehet üres, vagy
- egy vagy több dokumentumot tartalmazhat.
25MIME típusok, altípusok
- A Web kiszolgáló a kliensnek elküldött minden
egyes fájl fejlécébe felvesz egy MIME típust és
altípust. - Ezek a Content-type fejlécmezoben találhatók, ami
a böngészonek elküldött üzenet elején helyezkedik
el. - Ezeket a kiszolgáló általában a fájl
kiterjesztése alapján állapítja meg.
26MIME típusok, altípusok
- MIME típus általános fájlcsoport-típus
- MIME altípus általános fájlcsoport-típuson
belüli konkrét típus - Például
MIME típus MIME altípus
text html
text plain
image jpeg
image gif
Stb.
27MIME típusok, altípusok
- Több, esetenként különbözo adattípusú törzs
összekombinálásakor - Content-type multipart/mixed
- Bináris adatok, alkalmazás fájlok továbbításakor
- Content-type application/postscript
- Meglévo üzenet becsomagolásához (e-mailre
válaszban az eredeti üzenet is szerepeljen) - Content-type message
- stb.
28A HTTP használata
- Kétféle lehet
- Állapot nélküli a böngészo és a kiszolgáló
között minden egyes HTTP muvelet (tranzakció)
idejére létrejön egy kapcsolat, ami azonnal meg
is szakad a muvelet végrehajtása után (a
kiszolgáló hatékonysága no) - A kiszolgálók fenntartják a kapcsolatukat
válaszadás után nem szakítják meg azonnal a
kapcsolatot (teljesítmény javul)
29HTTP információk
- A HTTP szöveg-alapú, olvasható protokoll.
- Dokumentumformátumok dinamikus megállapítása
amikor a böngészo kapcsolatba lép egy
kiszolgálóval, elküldi azon formátumok listáját,
amiket képes felismerni. Így a kiszolgáló
(amennyiben ismeri) a megfelelo formátumban tudja
elküldeni az adatokat. - A HTTP fejlécben azokról az objektumokról
található információ (metainformáció), amelyeket
az alkalmazások a Weben keresztül elküldenek. Ha
egy alkalmazás nem tudja értelmezni a HTTP fejléc
információit, figyelmen kívül hagyja azokat.
30A HTTP általános protokoll
- A HTTP üzenetei a kliens által elküldött
kérésekbol és a kiszolgáló által a kliensnek
visszaküldött válaszokból állnak. - egyszeru teljes
- nincs fejléc - ált. üzenetformátum
- csak törzs (HTTP-tol független)
- (a kliensnek kell - van fejléc
- azonosítania a törzs - van törzs
- formátum típusát) (a HTTP nem törodik a
törzs tartalmával)
31A HTTP használatával végzett muveletek
- Keresés egy Web objektum kereséséhez az
alkalmazások a HTTP segítségével adják meg a
kiszolgáló számára az obj. URL-jét. -gt Kérési
üzenet tartalma kérési eljárás, URI,
protokollkonverzió, MIME-szeru üzenet
(kérésmódosítás, ügyfél-információ, esetleg a
törzs) - Elovétel a kiszolgáló egy állapotsorral
válaszol, ami a protokoll verzióját és a sikert
vagy hibát jelento kódot tartalmazza ezt egy
MIME-szeru üzenet követi (kiszolgálóval kapcs.
inf., fejléc-inf., esetleg törzs) - Megjelölés a böngészo állapotsorában üzeneteket
olvashatunk az éppen folyó muvelettel
kapcsolatban (megkezdodött-e a kért obj.
elovétele, mekkora a mérete stb.)
32A HTTP muködése 4 lépésben
- Kapcsolat létrehozása
- A HTTP protokoll portszáma 80, 8080
- Az ügyfél kérésének elküldése
- 1. Kérési sor tartalma
- Minden HTTP kérés egy metódussal (a kérés célját
meghatározó parancs) kezdodik, amit egy obj.
URL-je követ. Az ügyfél hozzáfuzi ezt az
információt az általa használt HTTP protokoll
verziójához. (szóközzel elválasztva) - 2. Ezt egy soremelés (CRLF) karaktersorozat
követi. - 3. Opcionális kérésfejléc a kérésre és a
kezdeményezo ügyfélre vonatkozó információk. - 4. Soremelés karaktersorozat
- 5. Opcionális törzs a továbbítandó adatok
bájtokba csoportosítva.
33A HTTP muködése 4 lépésben
- A kiszolgáló válaszának elküldése
- Válaszüzenet tartalma
- 1. HTTP protokoll verziója
- 2. Egy 3 számjegybol álló állapotkód és ennek a
szöveges leírása - 3. Soremelés karakter
- 4. Opcionális válaszfejléc (a kért eroforrásra
vonatkozó inf., a válasz továbbításához szüks.
MIME deklarációk) - 5. Soremelés karakter
- 6. Opcionális törzs (a továbbítandó adat
bájtokba csoportosítva) - Kapcsolat lezárása
állapot-sor
34A HTTP válaszkódok osztályai
1xx információs
2xx siker A muvelet fogadása, megértése és elfogadása sikeres.
3xx átirányítás A kérés befejezéséhez további muveletek szükségesek.
4xx ügyfélhiba A kérésnek hibás a szintaxisa vagy nem teljesítheto.
5xx kiszolgálóhiba A kiszolgáló nem tudott teljesíteni egy látszólag érvényes kérést.
35A HTTP metódusai
- GET eroforrás kérés parancsa (az egyszeru
kérések csak ezt a metódust ismerik itt a kérési
sorban nem kell megadni a HTTP verziót) - HEAD eroforrás kérés parancsa, ahol a kiszolgáló
a válaszban nem küld vissza törzset (csak inf.
szerzés az eroforrásról) - POST a kérésbe beillesztett obj-ot használja a
Web kiszolgáló a kérési sor URI-je által megadott
eroforrásként (ált. létrehozza vagy lecseréli a
metódusban megadott URI-hez tartozó eroforrást) - Érvényes Content-length (kérési üzenet
tartalmának hossza) mezot kell tartalmaznia. - Stb.
36Általános fejléc mezok
- Date
- MIME-version
- Pragma
- Direktívák a kliens és a kiszolgáló közötti úton
elhelyezkedo bármely fogadó állomás vagy átjáró
számára, hogy hogyan engedjék át a kérést.
37A kérésfejléc mezoi
- Accept ügyfél által támogatott MIME típusok és
altípusok listája - Authorization
- From
- If-modified-since feltételes GET metódus (ha a
kért eroforrás a mezoben megadott dátum óta nem
módosult, akkor a kiszolgáló nem küldi el az
eroforrás másolatát) - Referer annak az eroforrásnak a címe, ahonnan az
aktuális URI-t megkapta az ügyfél - User-agent a kérés küldéséért felelos kliens
(statisztikai célokra használják, pl. látogatók
száma)
38A törzsfejléc mezoi
- Allow az ügyfél által az adott eroforráson
elvégezheto HTTP metódusok listája - Content-encoding a törzs médiatípusához használt
tömörítés - Content-length a GET metódus hatására a fogadó
fél által kapott törzs mérete HEAD metódus
esetén annak a törzsnek a mérete, ami akkor
került volna elküldésre, ha a kérés GET lett
volna POST metódus esetén a kiszolgálóra
küldendo törzs mérete (a törzs méretét a bájtok
decimális számaként kell megadni, 0 vagy pozitív) - Content-type a GET metódusra válaszként kapott
törzs médiatípusa HEAD metódus esetén (lásd
fent) - Expires dátum és ido, ami után az alkalmazások a
törzset elavultnak feltételezik - Extension-header további törzsfejléc
definiálását lehetové tevo mechanizmus (a HTTP
protokoll megváltoztatása nélkül) - Last-modified
39A válaszfejléc mezoi
- Location a kérési sorban az URI által megadott
eroforrás pontos címe - Server inf. a kiszolgáló által a kérés
teljesítéséhez felhasznált szoftverrol - www-authenticate a kliensazonosításhoz szükséges
információkat juttat a kiszolgálóhoz
40S-HTTP
- Secure Hypertext Transfer Protocol
- Tartalmazza a Web dokumentumok titkosítását,
valamint digitális aláírásokat - Lehetové teszi, hogy az ügyfél a MAC (Message
Authentication Code) segítségével ellenorizze a
Web-üzenet épségét - Vö. SSL (Secure Socket Layer)
41Webes alkalmazások hálózati architektúrája
- Mainframe-ek
- 2-tier architektúra
- 3-tier architektúra
- n-tier
- Middleware koncepció (lásd Osztott rendszerek)
42Web technológiák
- HTML a web régi nyelve
- Szerver oldali API-k
- CGI (Common Gateway Interface)
- ISAPI (Internet Server API, Microsoft)
- ColdFusion
- PHP (Hypertext Preprocessor)
- Alkalmazás szerver
- Kliens oldali API-k
- Java script
- Java applet
- XML a web új nyelve