HTTP-süti

A Wikipédiából, a szabad enciklopédiából
(HTTP cookie szócikkből átirányítva)

A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a böngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. A sütiket maga a web szerver hozza létre a böngésző segítségével a felhasználó gépén, ahol azok egy elkülönített könyvtárban kerülnek tárolásra. Lou Montulli, a Netscape Communications egykori alkalmazottja használta először a süti technikát a webes kommunikációban.

Tartalomjegyzék

Cél [szerkesztés]

A süti bármilyen, a kiszolgáló által meghatározott információtartalmat hordozhat. Az eljárás célja az állapot bevezetése az alapvetően állapotmentes HTTP tranzakcióba. Sütik hiányában minden egyes weboldal (vagy erőforrás) lekérése elszigetelt esemény, gyakorlatilag független a site többi oldalának lekérésétől.

Ha a böngésző visszaküld egy sütit, a kiszolgálónak lehetősége van összekapcsolni az aktuális kérést a korábbiakkal. Leggyakrabban egy adott weboldal regisztrált felhasználóinak azonosítására, „bevásárlókosár” nyilvántartására vagy látogatók nyomon követésére használják.

Sütit létrehozhat a kiszolgálón futó CGI-program és a böngészőben végrehajtott kliensoldali script (például Javascript) is.

A létrehozási folyamata [szerkesztés]

1. A kliens gép egy HTTP kérést (request) küld a szerver felé.

     HTTP Request 
     GET /index.html HTTP/1.1
     Host: www.example.org

2. A szerver létrehoz egy új felhasználói azonosítót, majd bejegyzi azt saját adatbázisába (ebay.com szerver létrehozza az 1234 felhasználói azonosítót, és eltárolja azt a saját adatbázisában).

3. A szerver egy http választ (response) küld vissza a kliens gépnek, benne az előzőleg létrehozott sütivel.

     HTTP Response + Set-Cookie: name=value; süti tulajdonságok:
     HTTP/1.1 200 OK
     Content-type: text/html
     Set-Cookie: ebay= 1234; Expires=Wed, 09 Jun 2021 10:18:14 GMT

4. A kliens eltárolja ezt a sütit. (ebay: 1234)

A használati folyamata [szerkesztés]

1. A kliens újra kapcsolatba lép a szerverrel, és a http kéréshez már hozzácsatolja ezt a sütit is.

   HTTP Request+ Cookie: name=value
   GET /spec.html HTTP/1.1
   Host: www.example.org
   Cookie: name=value; 
   Accept: */*

2. A szerver összeveti a kapott sütit az általa tárolttal, így egyszerre tudja autentikálni a felhasználót, és emlékezni a korábbi felhasználói választásokra és preferenciákra.

3. A szerver egy általános http választ (response) küld vissza a kliens gépnek, benne a karbantartott süti változattal.

   HTTP Response:
   HTTP/1.1 200 OK
   Content-type: text/html
   Set-Cookie:  Expires=Wed, 09 Jun 2021 11:01:14 GMT

A fejléc tartalma [szerkesztés]

  • Name (név): A süti neve
  Name= ebay
  • Value (érték): A süti értéke, szövegben megadva
  Value= 1234
  • Expires (lejárati idő): időpecsét, ameddig érvényes
  Expires=Wed, 13-Jan-2021 22:23:01 GMT
  • Domain (domain név): a szerver ahonnan jött
  Domain= www.ebay.com
  • Path (elérési út): az URL elérési út része, ahova visszajuthat
  Path= /httpgallery/cookies/
  • Secure and HttpOnly (biztonságos kapcsolat)
  Logikai érték, hogy biztonságos kapcsolatot igényel-e

Cross site scripting [szerkesztés]

A cross site scripting egy olyan crackerek által használt technika, amely az áldozatot egy-az oldalba beillesztett Javascript segítségével átirányítja egy másik, veszélyes oldalra ahonnan a cracker már könnyen megszerezheti a felhasználó információit (ip cím, stb.)

Alternatívák [szerkesztés]