A HTTP (HyperText Transfer Protocol) a Web eredendő protokollja. A kiszolgálók és a böngészők a HTTP protokollt használják arra, hogy Web-dokumentumokat küldjenek az Interneten keresztül. A HTTP továbbá megtartja a multimédiás fájlok integritását. A HTTP továbbítja a képeket, grafikákat, video- és audioklipeket, a hiperhivatkozások szövegét és más adatokat a Weben. Amikor közelebbről szemügyre vesszük a HTTP-t, nem feledkezhetünk meg arról, hogy az Internet az a szállítóeszköz, ami a Web alatt helyezkedik el. Ezért úgy tekintsünk a HTTP-re, mint ami a TCP/IP protokollkészlet fölött helyezkedik el.

A HTTP protokoll jellemzői:

• Multimédiás fájlok továbbításához a HTTP a MIME (Multipurpose Internet Mail Extension) specifikációt használja.
• A Web HTTP protokollra támaszkodik, mert nincs másik olyan protokoll, amely egyesítené magában a HTTP jellemzőit.
• A HTTP négylépéses eljárást használ egy átvitel véghezviteléhez, feltéve, hogy az átvitel nem szakad meg idejekorán.
• Egy Web-böngésző a TCP/IP segítségével létesít kapcsolatot egy Web-kiszolgálóval. Miután létrejött a kapcsolat, a böngésző és a kiszolgáló a HTTP és a TCP/IP segítségével küldhet adatokat egymásnak.
• Az URL-k és az URL-ek kulcsszerepet játszanak a Web-erőforrások megtalálásában.
• A HTTP kéréseket, úgynevezett metódusokat használ az erőforrások kezeléséhez.
• A HTTP lehetővé teszi, hogy az alkalmazások fontos információkat közöljenek azokról az adatokról, amelyeket ügyfelek és kiszolgálók részére küldenek az Interneten keresztül.
• A teljes kérő/válaszoló HTTP üzenetek olyan, részletes információkat bocsátanak az ügyfelek és a kiszolgálók rendelkezésére, amelyek a Web-objektumok küldéséhez és vételéhez szükségesek.

 

A HTTP a Web eredendő protokollja

   Amikor szörfözünk a Weben, akkor a böngészőnk a háttérbent üzeneteket cserél a Web- kiszolgálókkal a HTTP protokoll segítségével. Minden olyan esetben, amikor egy hiperhivatkozásra kattintva az egyik erőforrásról átlépünk egy másik erőforrásra, a HTTP-t használja a böngészőnk arra, hogy elérje a kért erőforrást tartalmazó kiszolgálót. Ahhoz, hogy megértsük, hogyan cserélik ki a böngészők és a kiszolgálók a Web-dokumentumokat a HTTP segítségével, először meg kell vizsgálnunk a különböző dokumentumtípusokat. A különböző dokumentumformátumokat szabványok írják le, az általunk használt Web-dokumentumok formátumait a MIME (Multipurpose Internet Mail Extension) specifikáció írja elő.

 

A MIME

   A MIME (Multipurpose Internet Mail Extension) műszaki specifikációt jelent, ami azt írja elő, hogy miképpen továbbíthatók multimédiás adatok az Internet levelezőszabványaival. A MIME létezése előtt egy másik műszaki specifikáció létezett, amely leírta a számítógépek között továbbítandó szöveges üzenetek (az úgynevezett e-mail) szintaxisát. Ezeknek a szöveges üzeneteknek az átvitele azonban meglehetősen korlátozva volt, mert nem volt olyan szabványa, amely lehetővé tette volna multimédiás információk átvitelét.
    A MIME specifkáció előírja a képfájlok, mozgóképfájlok, audiofájlok, bináris fájlok, alkalmazási fájlok és más egyéb multimédiás fájlok formátumát. A MIME segítségével akár saját fájlformátumot is definiálhatunk, és ezt a formátumot használhatjuk egy kiszolgálóval történő adatcseréhez (feltéve persze, hogy a kiszolgáló felismeri a fájlformátumunkat).

 

A MIME használata a Web-en

   Amint tudjuk, a Web egymással összekapcsolt dokumentumok millióibói áll. Mindegyik dokumentum további fájlokra hivatkozhat, amelyek grafikát, audio- és videoklipeket, szöveget és más egyebeket tartalmazhatnak. Amikor egy Web-kiszolgáló egy fájlt vagy dokumentumot küld az Interneten keresztül egy böngészőnek (vagy valamilyen más ügyfélprogramnak), akkor a kiszolgáló a fájl típusát leíró információt beilleszti egy MIME fejlécbe. A fájlt fogadó program az ebben a fejlécben található információk alapján határozza meg az ezt követő adatok típusát (a fájl típusát). Általánosságban fogalmazva egy fejléc (head) a fájl elejéhez illesztett információ, az ezt követő fájl pedig a törzs (entity body). A törzs jelenti azt a fájlt vagy dokumentumot amit a , kiszolgáló elküld. Van olyan eset is, amikor egy program csak a fejlécet küldi el, anélkül, hogy törzset csatolna hozzá. Továbbá a MIME segítségével egyetlen törzsön belül több dokumentumot is elküldhetünk.

 

A MIME típusai és alaptípusai

   Egy Web-kiszolgáló az ügyfélnek elküldött minden egyes fájl fejlécébe felvesz egy MIME típust és altípust. Egy MIME típus azokat az általános fájlcsoport-típusokat írja le, amelyekkel dolgozunk. Ehhez hasonlóan egy MIME altípus azt hozza az ügyfél tudomására, hogy a fájlnak az adott általános fájlcsoport-típuson belül mi a konkrét típusa. Mivel a MIME folyamatosan követi és támogatja az újabb és újabb fájlformátumokat és alkalmazásokat, a MIME típusai és altípusai gyakran változnak.

Néhány MIME típus és altípus:

MIME típus MIME altípus
text html
taxt plain
text richtext
text tab-separated-values
multipart digest
mulipart form-data
mulitpart header-set
multipart mixed
application activemessage
application mac-binhex40
application mathematica
application msworld
application postscript
application wordperfect5.1
image jpeg
image gif
image ief
image tiff
audio basic
audio 32kadpcm
video mpeg
video quicktime

   A MIME típusát és altípusát a Content-type (tartalom típusa) fejlécmezőben találjuk meg, ami egy Web-kiszolgáló által az Interneten egy böngészőnek elküldött üzenet elején helyezkedik el. Ahhoz, hogy megértsük, hogyan használja a MIME a típusokat és az altípusokat, először meg kell ismernünk azokat a Web-összetevőket, amelyeket a MIME használ. A Web-böngészők és kiszolgálók MIME típusokat és altípusokat használnak. Amikor egy Web-kiszolgáló előkészít egy fájlt, hogy elküldje azt a böngészőnek, a kiszolgáló általában a fájlnév kiterjesztése alapján állapítja meg a MIME típust és altípust. Ezután a kiszolgáló elküldi ezeket az információkat a böngészőnek. A Web-kiszolgáló egy MIME Content-type fejlécet bocsát a böngésző rendelkezésére, amely azonosítja az elküldésre kerülő fájl MIME formátumát. Egy kiszolgáló például így jelezhet egy MIME típust és altípust: Content-type: application/postscript.
   Ebben az esetben a MIME típus egy alkalmazás (application), az altípus pedig postscript. A MIME típus és altípus ismeretében a böngésző tudja, hogy a kiszolgáló egy Microsoft Word dokumentumot fog küldeni.

 

MIME típusok

   A MIME text típusa szöveges információt jelent, amelyben a szöveg különböző szabványosított karakterkészletek karaktereiből és formázó leírásokból áll. Ilyen szövegtípus például a sima ASCII szöveg, az RTF (Rich Text Format) formátum, a HTML nyelv és számos más formátum. Az alkalmazások többrészes (multipart) értéket használnak ahhoz, hogy több, esetenként különböző adattípusú törzset kombináljanak össze egyetlen üzenetbe (többszörös dokumentumok). Ahhoz például, hogy csökkenteni lehessen a kiszolgáló és a böngésző között kicserélendő üzenetek számát, a kiszolgáló egyetlen törzsbe kombinálhat össze több, különböző típusú dokumentumot. A Web-kiszolgáló ezt a törzset összecsomagolja egy „multipart/mixed" Content-Type fejléccel, és a teljes üzenetet elküldi az Interneten keresztül a böngészőnek. Amikor a böngésző megkapja az üzenetet, megnézi a fejlécet, és megállapítja, hogy milyen dokumentumtípusokból tevődik össze a törzs. Ebben az esetben a kiszolgáló felel azért, hogy a különböző típusú dokumentumok megfelelően el legyenek választva egymástól, és az ügyfél az üzeneten belül meg tudja állapítani az egyes dokumentumok kezdetét és végét.

• Az alkalmazások az application (alkalmazás) értéket használják ahhoz, hogy alkalmazási vagy bináris adatokat küldjenek el az Interneten.
• Az alkalmazások a megssage (üzenet) értéket használják ahhoz, hogy becsomagoljanak egy meglévő üzenetet. Ha például válaszolni szeretnénk egy e-mail üzenetre, és ebbe a megkapott eredeti e-mail dokumentumot is bele szeretnénk venni, akkor az alkalmazásnak a message értéket kell tartalmaznia.
• Az alkalmazások image értékét használják grafikus fájlok átviteléhez. A Weben nagyon sok olyan hely található, ahol gyakran használnak képeket.
• Az alkalmazások az audio értéket használják hangfájlok átviteléhez. Az audiofájl meghallgatásához hangkártyára, hangszóróra és feltehetőn a hangfájl lejátszására alkalmas szoftverre van szükség.
• Az alkalmazások a video értéket használják videofájlok vagy mozgóképek adatainak átviteléhez, amelyek a kompozit videoformátum részeként feltehetően hangot is tartalmaznak.
A MIME tervezői külön figyelmet fordítanak a típusok bővíthetőségére. Ahogyan egyre több típus/altípus jelenik meg, a tervezők ezekre is kiterjesztik a MIME specifikációt.
    Amint látjuk, a MIME a Web számára nagyon fontos specifikáció, mert elsősorban a hipermédia-adatok (amelyek multimédiás fájltípusokat jelentenek) átvitele az, ami megkülönbözteti a Web-adatokat és az Internet-adatokat.

 


 

A HTTP állapot nélküli

   Eltérően az olyan protokolloktól, mint az FTP, amely folyamatos kapcsolatot biztosít mindaddig, amíg valami hiba nem történik vagy nem szakítjuk meg a kapcsolatot, a HTTP állapot nélküli. Más szavakkal ez azt jelenti, hogy a böngészőnek és a kiszolgálónak minden egyes HTTP művelethez létre kell hoznia, majd meg kell szakítania a hálózati kapcsolatot. Amikor például rákapcsolódunk egy Web-helyre, akkor a böngésző és a kiszolgáló létrehoz egy kapcsolatot, amely lehetővé teszi, hogy a kiszolgáló letöltsön egy HTML fájlt a böngészőre. Miután megérkezett a böngészőre a fájl, a kiszolgáló bontja a kapcsolatot. Ha a böngészőnek a HTML fájl olvasása során le kell töltenie egy grafikus fájlt, akkor a böngészőnek és a kiszolgálónak ehhez újabb kapcsolatot kell létrehoznia.
   Egyetlen HTTP műveletet tranzakciónak is neveznek. A HTTP TCP/IP kapcsolatot használ, ami csak egyetlen tranzakció idejére áll fenn. Sem a böngésző (ügyfél) sem a kiszolgáló nem felelős azért, hogy emlékezzen a kapcsolat utolsó állapotára. Amikor rákattintunk egy hiperhivatkozásra, akkor a böngészőnk az egyik helyről átlép egy másik helyre. Miután a kiszolgáló tudja, hogy egy ilyen hiperhivatkozás segítségével bármikor elhagyhatjuk a helyet, egyszerűbb, ha eleve feltételezi, hogy el fogjuk hagyni, ezért megszakítja a kapcsolatot. Ha mégis maradnánk, akkor egyszerűen létrehoz egy újabb kapcsolatot. Ha elhagyjuk a helyet, akkor a kiszolgálónak nincs semmi tennivalója - hiszen már megszakította a kapcsolatot. A kapcsolatok ilyen módon történő felbontása lehetővé teszi a kiszolgáló számára, hogy más ügyfelek kérésére válaszolhasson, és ilyen módon nőjön a hatékonysága. Újabban azonban a kiszolgálók a kapcsolatok fenntartásával kísérleteznek, ami azt jelenti, hogy a válaszadás után nem szakítják meg azonnal a kapcsolatot. A kapcsolatok fenntartásakor a kiszolgáló gyorsan tud válaszolni egy ügyfélnek, ha az újra meg akarja látogatni a helyet. Ahogyan a Web-helyek egyre bonyolultabbá válnak, és egyre több "helyi" hivatkozást kínálnak, a kapcsolatok ilyen fenntartása (az ismert helyi hivatkozásokhoz) javítani fogja a teljesítményt.

 

A HTTP támogatja a dinamikus formátumokat

   A HTTP segítségével az ügyfelek és a kiszolgálók dinamikusan tudják megállapítani a dokumentumok formátumait. Ez azt jelenti, hogy amikor egy böngésző kapcsolatba lép egy kiszolgálóval, akkor a böngésző elküldi a kiszolgálónak azon formátumok listáját, amelyeket képes felismerni, Ezek ismeretében a kiszolgáló a megfelelő formátumban tudja elküldeni az adatokat (amennyiben ismeri a formátumot). Ilyen módon a kiszolgálók és az ügyfelek különleges, egyedi formátumokat is használhatnak az adatok kicseréléséhez.
   Amikor egy kiszolgáló a Weben keresztül elküld egy dokumentumot, akkor a fájl előtt álló HTTP fejlécbe információkat vehet be a fájlra vonatkozóan (metainformációk). Ekkor a dokumentumot fogadó program ezeket a fejlécben lévő információkat felhasználhatja a dokumentum értelmezéséhez. Ilyen módon a fogadó fél üzenetet kaphat az érkező adatokról.

 

Információk a HTTP fejlécben

   A HTTP fejlécei információkat tartalmazhatnak azokról az objektumokról, amelyeket az alkalmazások a Weben keresztül elküldenek. A HTTP fejlécekben lévő információk alapján az alkalmazások megegyezhetnek abban a formátumban, amelyben az objektumokat el fogják küldeni. Ha egy alkalmazás nem tudja értelmezni egy HTTP fejléc információit, akkor a legtöbbjük egyszerűen figyelmen kívül hagyja az információkat. Miután az alkalmazások figyelmen kívül hagyják azokat a formátumokat, amelyeket nem ismernek fel, új protokollokat tesztelhetünk a Weben anélkül, hogy HTTP integritását megsértenénk. Így nem tesszük tönkre a HTTP-t, amikor olyan formátumokat tesztelünk, amelyeket az alkalmazások esetleg nem ismernek fel.

 

A HTTP könnyen olvasható

   A HTTP az emberek számára könnyen olvasható protokoll, ami azt jelenti, hogy szöveg alapú, és nincs szükség semmiféle dekódolásra ahhoz, hogy elolvashassuk. Egyes böngészők le is írják a HTTP tranzakciók állapotát, amit a tranzakciók során el is olvashatunk.

 

A HTTP általános protokoll

   A HTTP üzenetei az ügyfél által elküldött kérésekből és a kiszolgáló által az ügyfélnek visszaküldött válaszokból állnak. A kérő/válaszoló üzeneteknek két típusa van: egyszerű (simple) és teljes (full). A HTTP teljes kérő/válaszoló üzenetei általános üzenetformátumot használnak. A HTTP teljes kérő/válaszoló üzenetei által használt általános üzenetformátum opcionális fejlécmezőket (fejléceket) és egy törzset (magát a dokumentumot) tartalmazhat. A HTTP üzenetformátuma azért általános, mert az üzenetformátumok függetlenek a HTTP protokolltól. Más szavakkal ez azt jelenti, hogy a HTTP nem törődik a törzs tartalmával. Az egyszerű kérő/válaszoló üzenetek nem teszik lehetővé fejléc-információk használatát, és csak a törzs vételére korlátozódnak. Ne használjuk az egyszerű kérő formátumot, mert ez megakadályozza, hogy a kiszolgáló azonosíthassa a törzs típusát. Ilyen esetben viszont a dokumentumot megkapó alkalmazásnak (normál esetben a böngészőnek) kell megpróbálnia kitalálni a törzs formátumának típusát.

 

Kérés, megjelölés a HTTP-vel

   A HTTP használatakor az alkalmazások három kulcsműveletet végeznek: keresnek, elővesznek és megjelölnek. 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 objektum URL-jét. Ha az objektum létezik, akkor az alkalmazás a HTTP segítségével veszi elő azt. Végül a HTTP állapotinformációk küldésével jelöli meg az alkalmazást a keresés és elővételi művelet sikeréről vagy sikertelenségéről. A következőkben erről a három lépéses eljárásról lesz szó.

 

Erőforrások keresése

   A HTTP működésének alapját az ügyfél kérései és a kiszolgáló válaszai jelentik. Az ügyfél (a kérő program) TCP/IP kapcsolatot létesít egy kiszolgálóval (a válaszoló programmal) úgy, hogy kapcsolatkérő üzenetet küld neki az Interneten keresztül. Ha a kiszolgáló elérhető, akkor fogadja az ügyfél kérését, és létrehozza a kapcsolatot.
    Ha a böngészőnket használjuk a Weben egy erőforrás megkereséséhez, akkor a böngésző elküld egy kérést az erőforrást "tartalmazó" kiszolgáló részére. Miután a böngésző és a kiszolgáló létrehozta a kapcsolatot, a böngésző kérési üzenetet küld, amely négy információcsoportból áll: kérési eljárásból, egy URL-ből (Uniform Resource Identifier - egységes erőforrásazonosító), egy protokollverzióból és egy MIME-szerű üzenetből. A MIME-szerű üzenet kérésmódosításokat, ügyfélinformációkat és esetlegesen a törzset tartalmazza.

 

Erőforrás elővétele

   Miután a böngészőnk létrehozott egy TCP/IP kapcsolatot egy Web-kiszolgálóval, és elküldte a kérését, megkezdődik a dokumentumot elővevő folyamat. A kiszolgáló egy állapotsorral válaszol, amely a protokoll verzióját és a sikert vagy a hibát jelentő kódot tartalmazza. Az állapotsort egy MIME-szerű üzenet követi, ami a kiszolgálóval kapcsolatos információkat, a fejléc-információkat és esetlegesen a törzset tartalmazza.

 

Erőforrás megjelölése

   Amikor a böngészőnk azzal van elfoglalva, hogy létrehozzon egy kapcsolatot egy kiszolgálóval, vagy elővegyen a kiszolgálóról egy erőforrást, akkor a böngésző állapotsorában feltehetően különböző üzeneteket olvashatunk az éppen folyó műveletekkel kapcsolatban. Ezen üzenetek segítségével megtudhatjuk az elővenni kívánt erőforrás méretét, vagy azt, hogy megkezdődött a kért erőforrás elővétele (előfordulhat, hogy a kérdéses erőforrás már nem létezik). Ezen információk alapján dönthetünk arról is, hogy le akarjuk-e állítani a visszaállítás folyamatát. Az állapotkódok részletesebb információkat is szolgáltatnak a keresési és elővételi kísérletekről. Az állapotkódok általában a böngésző fő ablakában jelennek meg.

 

A HTTP négylépéses tranzakciója

   Amint láttuk, mielőtt egy ügyfél és kiszolgáló adatokat tudna cserélni, előbb kapcsolatot kell létrehozniuk egymással. Az Interneten az ügyfelek és a kiszolgálók a TCP/IP segítségével hozzák létre a kapcsolatokat. Mint tudjuk, hogy az ügyfelek adatokat kérnek a kiszolgálóktól, és a kiszolgálók a válaszukban küldik el a kért adatokat. Az ügyfelek és a kiszolgálók a HTTP-t használják a kérések és válaszok elküldéséhez. Említettük, hogy a kiszolgáló és az ügyfél a TCP/IP kapcsolatot csak egyetlen tranzakció időtartamára tartja fenn (a HTTP állapot nélküli), és hogy a kiszolgáló egy tranzakció befejeződése után általában megszakítja a kapcsolatot. Ha mindezeket tudjuk, akkor előttünk áll a HTTP négylépéses tranzakcióinak folyamata:

1. lépés: A Kapcsolat létrehozása.
Mielőtt egy ügytél és kiszolgáló információkat cserélne, előbb létre kell hozni egy TCP/IP kapcsolatot. Az Internet a TCP/IP protokollkészletet használja ahhoz, hogy a számítógépek kommunikálni tudjanak egymással. A protokollok megkülönböztetése céljából az alkalmazások egy egyedi számmal, az úgynevezett portszámmal jelölik meg az egyes protokollokat. Az olyan, általánosan használt alkalmazásoknak, mint az FTP és a HTTP, "jól ismert" portszámuk van a hozzájuk tartozó protokollokkal, amelyeket az ügyfél és a kiszolgáló programok használnak. A HTTP szokásos portszáma a 80, de az ügyfél és a kiszolgáló megegyezése esetén más portszámok is használhatók.

A Weben és az Interneten általánosan használt protokollok és a hozzájuk tartozó portszámok:

Protokoll Portszám
File Transfer Protocol (FTP) 21
TELNET Protocol 23
Simple Mail Transfer Protocol 25
Trivial File Tranfer Protocol 69
Gopher Protocol 70
Finger Protocol 79
HTTP Protocol 80

2. lépés: Az ügyfél kérésének elküldése.
    Az ügyfél által a Web-kiszolgálóhoz elküldött minden egyes HTTP kérésnek egy metódussal kell kezdődnie, amit egy objektum URL-je követ. Az ügyfél hozzáfűzi ezt az információt az általa használt HTTP protokoll verziójához, amit egy kocsi-vissza/soremelés (CRLF) karaktersorozat, ezt pedig egy nem kötelezően megadandó, fejlécbe kódolt információ követ. A böngésző az eddigiekben felsorolt információkhoz hozzáfűz egy kocsi-vissza/soremelés (CRLF) karaktersorozatot, amit még egy törzs (egy dokumentum) követhet. Egy HTTP metódus egy parancsot jelent, amivel az ügyfél meghatározza a kérése célját. A HTTP metódusai egy erőforrásra vonatkoznak (amit az erőforrás URL-je azonosít). Az ügyfél a használt HTTP verzióját is megadja, mint például HTTP 1.0. Ezek - a metódus, az URL és a HTTP protokoll verziója- együttesen alkotják a kérési sort. Az ügyfél a kérésfejléc mezőben adja meg magára a kérésre, valamint a kérést kezdeményező ügyfélre vonatkozó információkat. A törzs magukat a továbbítandó adatokat jelenti, bájtokba csoportosítva.

3. lépés: A kiszolgáló válaszának elküldése.
   Miután a Web-kiszolgáló megkapta és értelmezte a kérési üzenetet, egy HTTP válaszüzenettel válaszol rá. A válaszüzenet minden esetben a HTTP protokoll verziójával kezdődik, amit egy három számjegyből álló állapotkód, ennek a szöveges leírása (reason phrase), egy kocsi-vissza/soremelés (CRLF) karaktersorozat, egy fejlécbe kódolt, nem kötelezően megadandó információ követ. Végül a kiszolgáló egy kocsi-vissza/soremelés (CRLF) karaktersorozattal zárja le az előbb felsoroltakat, ami után még egy törzs is következhet. Az állapotkód három számjegyből álló szám, ami az ügyféltől érkezett kérés megértésének és teljesíthetőségének képességét írja le. Ezt az állapotkód szöveges leírása követi. A HTTP protokoll verziója, az állapotkód, ennek szöveges leírása együtt alkotják az állapotsort. A válaszfejléc a kért erőforrásra vonatkozó speciális információkat, valamint a válasz továbbításához szükséges MIME deklarációkat tartalmazhatja. Amikor egy Web-kiszolgáló válaszfejlécet küld egy ügyfélnek, akkor az általában ugyanazokat az információkat tartalmazza, mint amelyeket az ügyfél kérési fejléce. Az előzőekhez hasonlóan a törzs magát a továbbítandó adatokat jelenti, báj- tokba csoportosítva.

4. lépés: A kiszolgáló befejezi a kapcsolatot.
    Az ügyfél kérésének teljesítését követően a kiszolgáló feladata a TCP/IP kapcsolat befejezése. Egy katpcsolat nem várt befejeződését azonban mind a kiszolgálónak, mind az ügyfélnek tudnia kell kezelni. Ha például rákattintunk a böngészőnk Stop gombjára, akkor a böngészőnek kell befejeznie kapcsolatot. Bármelyik fél rendszerének összeomlását is érzékelnie kell a „túlélő" számítógépnek, és le kell tudnia zárni a kapcsolatot. Bármelyik félnél is történjen azonban, a kapcsolat lezárása befejezi az aktuális tranzakciót, függetlenül az állapotuktól.

 

A HTTP válaszkódjainak osztályozása

   A HTTP három számjegyből álló állapotkódjainak első számjegye a válaszkód osztályát adja meg. A z első számjegynek öt különböző értéke lehet (1-től 5-ig):

• 1xx: Információs - Nem használt, fenntartva a későbbi bővítésekhez.
• 2xx: Siker - A művelet fogadása, megértése és elfogadása sikeres volt.
• 3xx: Átirányítás - További műveletek szükségesek a kérés befejezéséhez.
• 4xx: Ügyfélhiba - A kérésnek hibás a szintaxisa vagy nem teljesíthető.
• 5xx: Kiszolgálóhiba - A kiszolgáló nem tudott teljesíteni egy látszólag érvényes kérést.

Az öt válaszkódosztály mindegyike további állapotkód értékeket tartalmaz.

A HTTP állapotkódjainak értékei és a hozzájuk tartozó szöveges leírások:

Állapotkód Szöveges leírás
200 OK
201 POST command succesfull (POST parancs sikeres)
202 Request accepted (Kérés elfogadva)
203 GET or HEAD kérés (GET vagy HEAD kérés teljesítve)
204 Request fulfilled, but no content to return (Kérés tejesítve, de nincsen visszaküldendő tartalom)
300 Resource found at multiple location (Az erőforrás több helyen található)
301 Resource moved permanently (Az erőforrás állandó jelleggel áthelyezve)
302 Resource moved temporarily (Az erőforrás ideiglenes jelleggel áthelyezve)
304 Resource has not been modified (Az erőforrás nem lett módosítva)
400 Bad request from cilent (Hibás kérés az ügyféltól)
401 Unauthorized request (Jogosulatlan kérés)
402 Payment required for request (Fizetni kell a kérésért)
403 Resource acces forbidden (Hozzáférés az erőforráshoz letiltva)
404 Resource not found (Az erőforrás nem található)
405 Method not allowed for resource (A metódus nem engedélyezett a forrásra)
406 Resource type not acceptable (Az erőforrás típusa nem fogadható el)
410 Resource not available (Az erőforrás nem áll rendelkezésre)
500 Internal server error (Belső kiszolgáló hiba)
501 Method not implemented (A metódus nincs implementálva)
502 Bad gatewey or server overloaded (Hibás átjáró vagy túlterhelt a hálózat)
503 Servics unavailalble/getway timeout (A szolgáltatás nem érhető el/átjáró időtúllépése
504 Secondary getaway/server timeout (Másodlagos átjáró/kiszólgáló időtúllépése)

A leírások szövege csak ajánlott szöveg, amelyet egy kiszolgáló a saját szövegére cserélhet le anélkül, hogy ezzel megváltoztatná a HTTP protokollt.