Internet Protokollok
HTTP:
A World Wide Web napjaink leggyakrabban használt internet szolgáltatása. Kommunikációjához a HTTP(HyperText Transfer Protocol)-t használja. Ez a protokoll lehetővé teszi, hogy a HTTP kliensek (browser) oldalakat töltsenek le a HTTP szerverekről, és információkat küldjenek vissza a szervernek.
Mit is csinál ez a protokoll ?
Amikor a browser-el (Netscape, Internet Explorer, Lynx) lekérünk egy oldalt, a browser elküld egy HTTP kérést a Web szervernek, majd megjeleníti a szerver által visszaadott adatokat. Az állomány amit visszakap bármilyen tipus lehet. Általaban egy HTML(HyperText Markup Language) nyelv használatával felépített web oldal.
Mint sok más kliens a HTTP browser is kiküld egy parancsot, majd várakozik a szerver válaszára. Ez a válasz tartalmazhat egyszerű szöveg állományt, HTML oldalt, képeket, hang állományokat, animációkat, és minden egyebet amit file-okban tárolni lehet.
Eredetileg a HTTP egy-egy új kapcsolat f
elépítését igényelte minden kéréshez. Azonban már a 1.0-ás verzió végefelé megjelent bővítésként, később az 1.1 verziótól kezdve pedig már szerves része a protokollnak, egy opció, amellyel a browserek kérhetik a szervertől, hogy egy kapcsolattal több adatot is átvihessenek.Mint az előzőekből kiderült, több verziója is van a protokollnak. Lehetőség van arra, hogy a különböző verziójú browserek, proxyk, és szerverek is együtt működjenek. Ez úgy valósulhat meg, hogy mindegyik eszköz támogatja visszamenőleg is a különböző verziókat. A közös HTTP verzióban, illetve opciókban az egyes eszközök úgy állapodnak meg, hogy a saját képességeiknek megfelelően korlátozzák a kommunikációs szintet. Vagyis a gyakorlatban a browser a kérés fejlécében közli, az általa támoga
tott legnagyobb HTTP verziót, illetve legcélszerűbb opciókat. Ezeket a továbítás során a proxy, illetve válasz során a szerver korlátozza az általa támogatott legnagyobb verziójú protokollra, illetve az ismeretlen opciókat kiszűri. Ezáltal a kommunikáció végére kialakul az eszközök által közösen támogatott legjobb protokoll.A protokoll elemei
Az alábbiakban a HTTP 1.0 verzió protokoll elemeit tárgyaljuk.
A browserek által küldött kérések általános formája:
command document-URL protocol-ID<CR><LF>
header<CR><LF>
<CR><LF>
body
A szerver által küldött válaszok általános formája:
protocol-ID error-code message<CR><LF>
header<CR><LF>
<CR><LF>
body
A kliensek parancsai:
HEAD
A HEAD request arra kéri a szervert, hogy a megnevezett dokumentum fejlécét küldje vissza. A szerver által visszaküldött fejlécnek minimum tartalmaznia kell a dokumentum hosszát, az utolsó módosítás dátumát, és a típusát.
Példa: HEAD /htdocs/index.html HTTP/1.0
GET
A GET request arra kéri a szervert, hogy a megnevezett dokumentumot keresse meg
és küldje vissza. A szerver visszaküldi a HEAD-nél is visszaadott fejlécet, és ezt követi a dokumentum maga. A GET parancs arra is használható, hogy információkat küldjön vissza a scriptek számára, azonban erre a feladatra elsősorban a POST parancs szolgál.Példa: GET /htdocs/index.html HTTP/1.0
POST
A POST request arra szolgál, hogy adatokat küldjünk vele a klienstől a szervernek. Leggyakrabban a HTML form-ok ezt a metódust alkalmazzák az adatok elküldésére. Természetesen a kérés a parancson kívűl tartalma
z egy fejlécet minimum az adatokat tartalmazó body hosszával, és a body részben magukat az adatokat.Példa: POST /htdocs/forms/question.html HTTP/1.0
Content-length: 6
data=5
A szerverek gyakoribb hibakódjai:
Error Code Message
200 Ok
302 Redirect
403 Access denied
404 Not found
500 Server error
FTP:
Az Interneten az állományok mozgatására (lehozására a távoli szerverekről, vagy a feltöltésre) leggyakrabban az FTP(File Transfer Protocol) használatos.
Mit is csinál ez a protokoll ?
Amikor használjuk a az FTP protokollt, akkor kilistázhatjuk a másik Internet site állományait, lemásolhatjuk az állományait, vagy feltehetünk újakat. Az FTP kliensek általában az alábbi funkciókkal rendelkeznek:
Ezeken kívűl gyakran támogatják bináris és az ASCII (szöveges) átviteli módok közötti választás lehetőségét. A szöveges átvitel során a rendszer elvégzi az eltérő operációs rendszerek közötti konvertálást.
A protokoll elemei
Egy FTP session két kapcsolatot igényel a kliens és a szerver között. Az egyiket használja a parancsok, a másikat az adatok átvitelére.
Az FP leggyakrabban használt parancsai:
A CWD munka könyvtárat változtatja. A CDUP paranccsal valaszthatjuk a szülő könyvtárat az aktuális könyvtárnak ha a szerver nem támogatja a ".." speciális könyvtárnév használatát. A LIST a megadott, vagy az aktuális könyvtárban található állományok listájával tér vissza. A TYPE paramétere lehet A (ASCII) vagy I (Image másnéven bináris). És végűl a RETR és a STOR parancs végzi az állományok mozgatását. A RETR lehoz egy állományt a távoli gépről a felhasználó gépére, a STOR pedig feltölti a felhasználó gépéről a szerverre.
Ezeket a parancsokat a vezérlő csatornán továbbítja a rendszer. Az egyszerű választ, amely gyakran a siker vagy a hiba jelzése, szintén ezen a csatornán kapja a kliens. Az állományok listájának, vagy magának az állománynak az átviteléhez a szerver egy adat kapcsolatot hoz létre. Amikor az átvitel befejeződik az értesítés szintén a vezérlő csatornán továbbítódik.
Az E-mail az Internet egyik leglényegesebb szolgáltatása. Az internet minden felhasználója ismeri és használja, mint az egymás közötti kapcsolat tartás eszközét.
A levelezés alapvetően két protokoll-ra épül:
(A POP3-on kívűl más protokollokkal, vagy közvetlenűl a mail szerverre
való belépéssel is elérhetjük a levelesládánkat, azonban ez a leggyakrabban használt metódus.)SMTP:
A Simple Mail Transfer Protocol (SMTP) a hálózat egyik legrégebbi és legstabilabb protokollja. Az SMTP lehetővé teszi, hogy két gép az Internet-en üzenete
ket váltson egymással.Mit is csinál ez a protokoll ?
Egy kapcsolat épűl fel a két gép között. A kommunikáció ezen folyik. A kezdeményező "üdvözli" a fogadót. Közli a küldő és a címzett címét, majd a levelet adja át. Végül "elbúcsúzik" és bontja a fogadó b
ontja a kapcsolatot.A protokoll elemei
A kezdeményező parancsai:
Minden parancs <CR><LF>-el záródik.
A válaszok egy három digites response kóddal kezdődnek, é
s ezt követi egy ember által is olvasható szöveg.A HELO
paranccsal kezdődik minden session. Amikor egy kapcsolat felépül a kezdeményező gép egy HELO parancsot küld a saját teljes nevével. Mintha körülbelül azt mondanánk "Hello, én vagyok joe.cool.hu". A vevő egy 220-as kóddal válaszol. Tipikusan a szöveg a vevő neve.A MAIL FROM:
parancs paramétere a küldő teljes e-mail címe. A vevő válasza 250 OK. Az RCPT TO: parancs mondja meg, hogy ki a címzettje a levélnek. Ha a levélnek több címzettje van, akkor minden címzet egy-egy RCPT TO: paranccsal adunk meg. Mindegyikre küld egy-egy választ a vevő. Az RCPT TO: parancsra az alábbi válaszok érkezhetnek:Az első kettő azt jelenti, hogy sikeres volt a kérésünk. Az utóbbi kettő hibát jelez, tehát a címzett nem fogja megkapni.
Miután megadtuk az összes címzettet következik a maga a levél. Az SMTP nem specifikálja a levél formátumát. Természetesen a fogadó programok megkövetelnek bizonyos formátumot. A DATA
parancs vezeti be a levelet. Ezt követi a levél fejléce és teste. Miután az egész üzenetet elküldtük egy uj sorban egy "."-al jelezhetjük a levél végét. Mivel minden sor <CR><LF>-el végződik, ezért a záró jelzés "<CR><LF>.<CR><LF>". (Kicsi a valószínűsége, hogy egy sorban egyedülálló "." legyen, de mivel nem zárhatjuk ki, ezért a küldőnek ".."-t kell küldeni helyette, amit a vevő visszaalakít.)A QUIT parancs zárja a kapcsolatot a gépek között.
Összegezés képpen nézzünk eg
y példa kommunikációt. A küldő avalon.aut.bme.hu, jelezzük "S"-el az általa küldött sorokat. A vevő mail.rulez.org, jelezzük "R"-el. A címzettek kate, aki létezik és jack, aki nem létezik az adott szerveren. (A sorok végén <CR><LF> áll.)R: 220 mail.rulez.org SMTP ready
S: HELO avalon.aut.bme.hu
R: 250 mail.rulez.org
S: MAIL FROM:<joe@avalon.aut.bme.hu>
R: 250 OK
S: RCPT TO:<kate@mail.rulez.org>
R: 250 OK
S: RCPT TO:<jack@mail.rulez.org>
R: 550 No such user
S: DATA
R: 354 Start mail input: end with <CRLF>.<CRLF>
S: Date: 14 Nov 1999 10:20:30
S: From: joe@avalon.aut.bme.hu
S: To: kate@mail.rulez.org, jack@mail.rulez.org
S:
S: Hi! This e-mail is a cool thing.
S: .
R: 250 OK
S: QUIT
R: 250 mail.rulez.org closing the session.
POP3:
A POP3 a Post Office Protocol version 3 rövidítése. Ha a gépünk folyamatos Internet kapcsolata van, és folyamatosan működik, és egy mail szervert futtatunk rajta, akkor tudja fogadni a leveleket SMTP-n keresztűl is. Ezek a feltételek általában nem teljesülnek a felhasználóknál. A Post Office Protocol-t ahoz fejlesztették ki, hogy lekérhessük vele a leveleinket a mail szervertől, amelyre a fenti feltételek teljesülnek.
Mit is csinál ez a protokoll ?
A fogadó gép bekapcsolódik a küldő szerverhez,
és lekérdezi, hogy vannak-e új leveleink, és lehozza, ha van. A POP3 kommunikáció is parancsokból és válaszokból áll. Csak egy csatornát használ. Egyes parancsokra egy soros, másokra több soros válaszok kapunk. A több soros válaszok egy egyedül álló "."-al záródnak, mint az SMTP-nél a levél. (A levélben szereplő pontokat is úgy kezeli mint az SMTP.) A válaszok "+OK" vagy "-ERR" taggal kezdődnek attól függően, hogy sikeres vagy hiba jelzést kapunk.A protokoll elemei
Parancsok Paraméterek Válasz Funkció
USER usernév Felhasználó azonosítása
PASS jelszó Jelszó
STAT Levelek száma Hány új levele van a felhasználónak
LIST [levél száma] Levelek Az levelek listája
RETR levél száma A levél Lehozza a kiválasztott levelet
DELE levél száma Törli a kiválasztott levelet
LAST Az utolsó levél száma Az utolsó levél száma
QUIT A kapcsolat vége
Nézzünk egy példa kommunikációt. A "C" jelzi a klienst, az "S" a szervert:
S: +OK POP3 server ready
C: USER joe
S: +OK
C: PASS jelszo
S: +OK joe's mailbox has 3 messages
C: STAT
S: +OK 3 460
C: LIST
S: +OK 3 messages (460 octets)
S: 1 120
S: 2 240
S: 3 100
S: .
C: LIST 2
S: +OK 2 240
C: RETR 1
S: +OK 120 octets
S: Date: 14 Nov 1999 11:22:33
S: From: kate@mail.rulez.org
S: To: joe@avalon.aut.bme.hu
S:
S: Hi Joe !
S: .
C: DELE 1
S: +OK message 1 deleted
C: QUIT
S: +OK session closed (2 messages left)