A hálózat folyóiratai (nyílt rendszerek közzététele)

Tegyük fel, hogy a felhasználónak lehetőséget kell adnia a termékek katalógusának böngészésére és a különböző oldalakon elhelyezett termékek kiválasztására. De a kiszolgáló szempontjából "az áru egy oldalon történő kiválasztása semmilyen módon nem kapcsolódik az előző felhasználó vagy az azt követő műveletekhez. Hogyan kell figyelembe venni a felhasználó által választott pozíciókat?

A probléma megoldásához speciális alkalmazást használhat a webkiszolgálón, amely figyelemmel kíséri a felhasználó műveleteit. Ez az ötlet, amely a tulajdonságok azonosításának technológiájába illeszkedik, vagy - a Netscape terminológiájában - "zsemle" (cookie). A cég által készített "zsemlék" már egy de facto szabványnak tekinthető. De mielőtt jobban megismerhetnénk az azonosító jeleket, vessünk egy kicsit jobban betekintést a probléma lényegébe.

A kliens és a szerver szoftver közötti kapcsolat a világhálón meglehetősen egyszerű. A böngésző kéréssel fordul a szerverhez: "Mutasson meg egy ilyen dokumentumot". Ha a megadott dokumentum létezik, és a felhasználónak jogában áll hozzáférni, akkor a kiszolgáló végrehajtja a kérést. Itt, általában, ez minden. A hálózat (nem információs) terhelése nagyon alacsony, és a teljesítmény nagy. Van azonban egy kellemetlenség: a böngésző és a szerver közötti kapcsolat csak a tranzakciók alatt marad, és mindegyik nem kapcsolódik a többihez. Az ilyen típusú tranzakciókat egy idempotent speciális kifejezéssel jelöltük (amit "peer" -ként lefordíthatunk), és a kiszolgálót nem tekintjük semmilyen konkrét állapotnak (hontalannak). Szigorúan szólva, a kellemetlenség akkor merül fel, ha szükséges egy kommunikációs folyamat áthaladásának nyomon követése, vagyis az adott felhasználó kéréseinek sorrendje a webszerverhez.

Mielőtt nem volt azonosító jellemzőit, az egyetlen módja annak, hogy nyomon követheti a látogatók intézkedések webszerveré volt, hogy egy meglehetősen korlátozott kapacitással „láthatatlan mező” a HTML-formában vagy szervezet egy speciális megmunkálási folyamat „jelzőt” ágyazva a Resource Locator (URL). Ahogy tudod, ezek a módszerek kényelmetlenek és nem túl megbízhatóak.

Milyen "zsemle"?

Netscape felajánlotta döntését, és tartalmazza azt a Navigator 0.94, amelyben újdonság „állandó cookie” (ami szó szerint annyit tesz, mint „állandó zsemlét.” - Megjegyzés sáv ..). Ahelyett, hogy folyamatosan továbbítja az adatokat a böngésző a szerver és vissza ugyanazokat a folyamatos hálózati kapcsolatot, úgy döntött, a Netscape, meg kell adnia a Web-szerver kell helyezni a fájlrendszerben a böngészőt, majd felolvasott egy kis mennyiségű védett információkat ( „csomagot”). A tárolt adatokat a „bun”, vagy jelek, lehet például, hogy azonosítsa a felhasználói munkamenet (figyelt hiányában az információkat a felhasználók számára, hogy végezzen), vagy bármely más paramétert a kívánt, a Web szerver rendszergazdája.

Annak érdekében, hogy az állapotjelző írás és olvasás folyamata átlátható legyen a felhasználó számára, a Netscape kiterjesztést fejlesztett ki a HTTP protokollra, amely a World Wide Web szerves része. Általánosságban elmondható, hogy a HTTP protokoll meglehetősen egyszerű. Amikor a böngésző egy kéréssel hozzáfér a kiszolgálóhoz, a kért adatokat válaszként elküldi, amelyet előzetesen egy bizonyos szolgáltatáskategóriákból álló jelölés követ. Ha a kiszolgáló az ügyfélszoftverbe kíván betekinteni, a "Set cookie" címke szerepel a jelölésben (további részletekért lásd az oldalsávot).

Az azonosítási jellemzők tárolása

A Netscape specifikáció lehetővé teszi, hogy a böngésző legfeljebb 300 címkét tároljon, amelyek mindegyike legfeljebb 4 KB méretű lehet. Szintén 20 címke van a szerveren vagy a tartományonként. A specifikáció azt írja elő, hogy a kiszolgálóknak "nem kell számolni a határérték túllépésének lehetőségével, de ha ez történik, akkor az ügyfélszoftvernek el kell távolítania a legrégebbi jeleket."

A Netscape Navigator böngészőben egy címkével ellátott fájl (cookies.txt) található az egyik alkönyvtárban. A fájl formátuma szabadalmaztatott, és ha nem akarja elrontani a benne foglalt információkat, ne próbálja meg szerkeszteni (nincs fájlvédelem). A különböző böngészők és operációs rendszerek saját címkén tárolják a címkéket. Például a Navigator for Macintosh-ban a programokat a Navigátor mappába, az Internet Explorerben pedig egy makrók formájában egy alkönyvtárba írják.

Azonosító eljárás

Felmerül a kérdés: miért kell a kiszolgálónak jeleket azonosítania? A "zsemlét" szekvenciálisan a következőképpen ábrázolható. Például a webszerver oldalainak megjelenítésének megszervezése a felhasználó preferenciáinak megfelelően, a kiszolgáló címkék formájában helyezi el a releváns információkat a böngészőben. Minden alkalommal, amikor a böngésző hozzáfér a kiszolgálóhoz, a kiszolgáló elolvassa az adatokat a "bun" -ból és megjeleníti azokat a lapokat, amelyekre a felhasználónak szüksége van.

De valójában a szerver nem olvassa ezt az információt. Csak egy böngésző, utalva a forrás a szerveren egy adott területen, különösen nézte fájl azonosító jelek a jelenlegi „bun” (t. E., amelyekre a határidő még nem járt le eltarthatóság) az erőforrás, vagy a megfelelő szervert. Ha ilyen jelek vannak ehhez a kiszolgálóhoz, akkor a böngésző a kérés elején a karakteres rekord HTTP_COOKIE jelét, nevét és dátumát helyezi el. Az alkalmazás a webkiszolgálón automatikusan olvassa ezeket az információkat a CGI felület segítségével.

A "zsemle" szabványosítása

Ma a jelek, vagy a "zsemlék" azonosítása de facto szabványos, de a nap nem messze, amikor de jure lesz. Most a munkacsoport Internet Engineering (IETF) egy draft szabvány "bun", ami nagyon komoly neve "HTTP State Management Mechanism" (a részleteket lásd. Portal.research.belllabs.com/et).

Amikor ezt a technológiát beszéljük, elkerülhetetlenül felmerül egy további kérdés: miért hívta fel a Netscape a "zsemlék" azonosító jeleket? Bár segítségük alapján rávilágít arra, hogy a felhasználók hogyan használják a kiszolgálót, maga a név misztériuma valószínűleg örökre rejtély marad. A Netscape képviselői azt állítják, hogy mögötte "semmi különleges nincs rejtve". Ez a modern számítógépes technológia világa!

A "zsemle" elkészítésének receptje

A "Set-Cookie" jelölés a következő:

Set-Cookie: NAME = VALUE; lejár = DATE; útvonal = PATH; domain = DOMAIN_NAME; biztos

A (z) NAME és VALUE a karakter azonosítására használt karakterláncváltozók. A változók nem tartalmazhatnak pontosvesszőt, vesszőt vagy szóközt. A pár NAME = VALUE a jelölés egyetlen kötelező eleme.

A DATE változó meghatározza azt a dátumot, amely után a jellemző automatikusan törlődik. Ha a dátum nincs megadva, akkor a címke csak az aktuális munkamenet végéig jelenik meg a Navigátor böngészőjével.

A (z) DOMAIN_NAME címke azon tartomány nevét írja le, amelyhez a szolgáltatás tartozik. Ha ez a címke nincs megadva, az alapértelmezett érték a kiszolgáló neve, amely létrehozta a címkecímkét.

A "biztonságos" címke azt jelzi, hogy a karakterláncnak a kiszolgálóra történő átvitelét csak titkosított formában lehet végrehajtani.

Nem szabad megfeledkeznünk arról, hogy több megjelölés "megjelölhető" egy címke alatt, de ebben az esetben különböző erőforrásokra (URL-ekre) kell hivatkozniuk, és különböző utakra van szükségük. Ellenkező esetben az utolsó azonos jellemzők lesznek telepítve az ügyfélgépen.

Kapcsolódó cikkek