e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

Piškotki

Pri Netscapu so razvili piškotke (angl. cookie) za shranjevanje informacij (kaj je uporabnik počel na spletni strani, kdaj je odprl neko stran, kaj je vpisal v obrazec, kateri gumb ali povezavo je pritisnil ...), ki jih je potrebno hraniti dalj časa. Informacije hranjene v piškotku se hranijo med brskalnikovimi sejami, tudi takrat ko je računalnik izključen. Piškotek dovoljuje CGI in drugim programom, da uporabljajo njegove podatke.

Piškotek je sestavljen iz informacij, ki jih je poslal program s strežniške strani. Najlažje si jih predstavljamo kot posebno vrsto spremenljivk, ki jih hrani spletni brskalnik (kje in v kakšni obliki, je odvisno od posameznega brskalnika).

Ko brskalnik od strežnika zahteva novo stran, najprej pregleda lokalni piškotek pripadajoče strani in če obstaja, poleg zahtevka za stran pošlje tudi vse pripadajoče še veljavne piškotke. Strežnik se na podlagi vrednosti prejetih piškotkov odloči, kako ukrepati in kaj vrniti. Poleg nove strani lahko strežnik pošlje tudi nove piškotke ali nove vrednosti za že obstoječe piškotke. V vsakem primeru pa novemu dokumentu nastavi lastnost document.cookie tako, da vsebuje imena in vrednosti vseh prejetih piškotkov.

Če delamo lokalno (brez strežnika), vlogo strežnika prevzame kar spletni brskalnik. Ko mu pošljemo zahtevek po novi strani, to stran prikaže, poleg pa nastavi tudi lastnost document.cookie tako, da razlike skoraj ni opaziti.

Preko lastnosti document.cookie pa lahko piškotke uporabljamo tudi v JavaScript. Lahko definiramo nove, uporabljamo vrednosti obstoječih...

Opis piškotka

Opis piškotka je sestavljen iz več delov, ki so med seboj ločeni s podpičji. Poleg imena in vrednosti ima vsak piškotek še datum, do kdaj je veljaven, vezan pa je tudi na skupino strani na izbrani skupini strežnikov. Poleg tega lahko ima nastavljeno lastnost, da ga smemo pošiljati samo preko varnih povezav. Obvezen je samo del z imenom in vrednostjo, vse ostale lahko izpustimo, vključno s pripadajočimi podpičji. Polna oblika opisa piškotka izgleda takole:

ime=vrednost;
expires=rok;
path=pot;
domain=domena;
secure

Vsak piškotek mora imeti ime in vrednost (zato je prvi del opisa obvezen), pri čemer je lahko vrednost tudi prazna. Ostale vrednosti so opcijske. Preko imena lahko kasneje dostopamo do vrednosti piškotka. Predpisano je, da vse znake v vrednosti, ki niso črke ali števke, kodiramo. V JavaSvript se znake nadomesti z znakom % (odstotek) in dvema šestnajstiškima števkama, ki ustrezata kodi znaka. To je natanko tako, kot to stori vgrajena funkcija escape. Aplikacije pa lahko svobodno uporabijo svoje oblike kodiranja.

Podatek expires določa veljavnost bo piškotka. Če ga ni, se piškotek izbriše ob zaključku brskalnikove seje. Če se poda kor, ki je že potekel, se piškotek takoj izbriše. Po izteku tega roka bo spletni brskalnik piškotek zbrisal. Vrednost tega podatka mora biti v standardni obliki, kot jo vrne postopek toUTCString razreda Date v obliki:

"Weekday, DD Mon yyyy hh:nn:ss UTC"

na primer:

"Monday, 12 May 2005 02:11:40 UTC"

Piškotki so organizirani s pomočjo podatklo o domenah. Podatek domain določa skupino strežnikov v katerih bo piškotek sprejet. Vrednost .sersmb.si določa, da bo spletni brskalnik poleg vsakega zahtevka po novi strani kateremu od strežnikov v tej domeni poslal tudi podatke o piškotku. Privzeta vrednost te lastnosti je domena strežnika, ki je piškotek nastavil. Polje ne more vsebovati podatko o vrhnjih domenah npr. .com, .net.

Podatek path določa pot do datotek na strežniku, katerim je piškotek namenjen. Vrednost / pomeni, da je piškotek namenjen vsem datotekam, vrednost /cgi-bin pa seznam datotek omeji le na tiste, ko so v mapah, katerih ime se prične na cgi-bin, in v vseh njihovih podmapah. Privzeta vrednost te lastnosti je pot do datoteke, od koder smo nastavili piškotek.

Če je podatek secure določen (če ga napišemo), se lahko piškotek strežniku pošljemo samo po varnih povezavah (strežniki https). Če se tega ne navede, lahko brskalnik pošlje piškotek tudi po nezavarovanih povezavah.

SERŠ Maribor : Strokovna gimnazija : 2004 : Jan Kokalj