Archives for 

HTTP protokol

HTTP protocol – Mi a HTTP?

A világhálóra kapcsolt számítógépek a „HyperText Transfer Protocol“-t (azaz HTTP-t) használják az egymás közötti kommunikációra. A HTTP biztosítja a tökéletes, pontos adat- és információcserét instrukciók, utasítások során keresztül. A kliens (a webböngésződ) és a szerver (a Szervergépen működő program, szoftver) közötti kommunikáció magába foglalja azokat az igényléseket („requests“), amelyeket a kliens egy-egy keresés megindításával a szerver felé küld.

Minden kliens-szerver tranzakciónak, akár igénylésről, akár válaszról van szó, 3 fő része van:

  1. Egy válasz vagy igény sor
  2. Fejléc adatai (Header information)
  3. A kommunikációs tartalom (The body)

HTTP-protocol

A kliens a 80-as port-on lép kapcsolatba a szerverrel, (hacsak a rendszergazda át nem állította ezt) és elküldi a keresésre vonatkozó igénylését. Az igénylés tartalmazza az igény jellegét, a kért file címét és a HTTP verziószámát.

GET /mypage.html HTTP/1.1

Kiolvasható, hogy a fenti igénylés a mypage.html file-t keresi, „GET HTTP“ metódussal; a HTTP verziója pedig 1.1.

Az igénylési sor után a fejléc adatait találjuk, ami a klienssel és dokumentum megjelenítési preferenciájával kapcsolatos adatokat tartalmaz. A fejléc több adatsor együttese, amelyek mindegyike a klienssel kapcsolatos specifikus részletet tartalmaz és üres sor zárja. Ilyen egy fejléc:

ACCEPT: */*
ACCEPT_LANGUAGE:en-us
REFERER:http://www.mesetarhely.hu/index.html
USER_AGENT:Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

A fejléc legtöbb sora magától értetődő tartalmilag. Az „ACCEPT“ (elfogadni) azonosítja be azokat a file típusokat, amelyeket a kliens fogadni tud.

A „REFERER“ (hivatkozni) sor tartalmazza azt a visszautalást, hogy mely dokumentumból kiindulva keletkezett az igénylés. A példánk szerint ez a „index.html“ dokumentum, a http://www.mesetarhely.hu weboldalról.

A „USER_AGENT“ nevezi meg a böngésző típusát és verziószámát.

Az igénylés tartalmi része (the body) a kliens által „POST“ módon küldött adatokat fog tartalmazni.

Erre tud válaszolni a szerver. A válasz szintén 3 fő egységből áll.

A válasz sor a HTTP verziószámát, egy státuszkódot (a kliens igénylésének eredményére utal) és a státuszkód leírását tartalmazza „angolul“.
Így néz ki egy szerverválasz:

HTTP/1.1 200 OK

http-200

A szóban forgó HTTP verziója 1.1 és a státuszkód 200, az ‘OK’ magyarázza ezt a kódot el. Természetesen sok HTTP státuskód van.

A szervertől érkező fejléc információkat nyújt magáról a szerver szoftverről és a kliensnek küldött dokumentumról is.

Ilyen egy szervertől érkező fejléc:

Date: Wed, 16 Aug 2000, 13:25:54 GMT
Server: NCSA/1.5.2
Last-modified: Sat, 22 Jan 2000, 05:15:43
Content-type: text/html
Content-length: 12443

web-cycle-facebook

A fejlécadatokat egy üres sor követi, ami természetesen azt jelzi, hogy vége a fejlécnek. A példánkban a szerver egy 12443 byte nagyságú HTML dokumentumot küld, ahogy azt a „Content-type“ (tartalom típusa) és a „Content-length“ (tartalom nagysága) sorai mutatják. A „server“ sor mutatja meg a szerver szoftver adatait, a többi sor pedig egyértelmű (dátum, utolsó módosítás dátuma).

Végezetül pedig említsük meg még egyszer, hogy a HTTP protokoll ún. „stateless protocol“, ez annyit tesz, hogy a kapcsolat a böngésző és a szerver között minden egyes tranzakció végén megszakad, befejeződik.

Remélem érthető és hasznos volt!

Olvasd el a többi érdekes cikkünket is!

Képek forrásai:

HTTP protokol HTTP protokoll fejléc