Veb-skladište

С Википедије, слободне енциклопедије
(преусмерено са Internet skladište)

Internet skladište ponakad poznato i kao DOM skladište (dokumentni objektni model) su internet aplikacije odnosno softverske metode i protokoli koji se koriste za skladištenje podataka u internet pretraživaču. Internet skladište podržava trajno skladište podataka, slično kao kolačići ali sa mnogo povećanim kapacitetom[1] i bez informacija o skladištenju u HTTP traženom zaglavlju.[2] Postoja dva glavna tipa internet skladištenja: lokalno skladištenje i sesiono skladištenje, koji se ponašaju kao uporni kolačići i sesioni kolačići .

Internet skladište je standardizovano od strane svetski rasprostranjenog konzitorijuma. On je u pocetku bio deo HTML 5 specifikacije, ali je sada u odvojenoj specifikaciji.[3] Podržano je od strane Internet Explorer 8, Mozilla-osnovanim pretraživačima (e.g., Firefox 2+, zvanično od 3.5),[4] Safari 4, Google Chrome 4 (sessionStorage od 5), i Opera 10.50. Ажурирано: 14. март 2011. (2011-03-14) Opera i IE9 podrzavaju skadišne mogućnosti.[5]

Karakteristike[уреди | уреди извор]

Internet skladište moze da bude shvaćeno kao pojednostavljeni i unapredjeni kolačići. Ipak, ono se razlikuje od kolačića u nekim veoma bitnim segmentima.

Veličina skladišta[уреди | уреди извор]

Internet skladište omogućava mnogo veći kapacitet (5 MB za deo u Google Chrome, Mozilla Firefox, i Opera; 10 MB za skladišni deo Internet Explorer; 25MB za deo na BlackBerry 10 devices) u poredjenju sa 4 kB (oko 1000 puta manje mesta) dostupno na kolačićima.[6][7][8]

Klijentska strana interfejsa[уреди | уреди извор]

Za razliku od kolačića, kojima se moye pristupiti i sa serverskog i sa klijentskog servera, internet skladištu moye da se pristupi samo sa klijentske strane kriptovanja.

Internet skladište svoje podatke ne prebacuje automatski na server pri svakom HTTP zahtevu, i internet server ne moye direktno da pise u internet skladište. Ipak, oba efekta mogu da se postignu ako se eksplicitno sa klijentske strane kriptovanja, dozvoli fino uskladjivanje željenih interakcija sa serverom.

Lokalno i sesiono skladište[уреди | уреди извор]

Internet skladište omogućava dve različite zone skladištenja- lokalno skladištenje i sesiono skladištenje- koje se razlikuju u opsegu i životnom veku.Podaci smešteni u lokalnom skladištu su po poreklu (kombinacija protokola, hostname-a, broja porta koji je definisan u istom poreklu polise) (podaci su dosupni svim kriptovima koji su učitani sa strane koja ima isto poreklo u kome su se ranije nalazili podaci) i traju do se pretraživač ne zatvori. Sesiono skladištenje je jedna strana jedan proyor i ima ograničen životni vek na vek tog prozora. Sesiono skladištenje dozvoljava odvojene instance iste internet aplikacije da se izvršavaju u različitim prozorima bez medjusobnog ometanja,koristi se u slučaju kad kolačići nisu podržani.[9]

Model podataka i interfejsa[уреди | уреди извор]

Internet skladište trenutno omogućava bolje programabilni interfejs nego kolačići jer otkrivaju asocijativni niy modela podataka gde su ključevi i vrednosti stringovi. Dodatak API za pristup strukturnim podacima se razmatra od strane internet aplikacione grupe. [10]

Korišćenje[уреди | уреди извор]

Pretraživač koji podržava internet skladište ima globalne promenljive'sessionStorage' i 'localStorage' deklariane na nivou prozora. Sledeći JavaScript kode moye da se koristi u ovim pretraživačima da aktiviraju ponašanje internet skladišta:

sesionoSkladište[уреди | уреди извор]

// Čuva vrednost na pretraživaču za vreme sesije
sessionStorage.setItem('ključ', 'vrednost');
 
// Vraća vrednost(briše se kada se pretraživač zatvori ili ponovo otvori)
alert(sessionStorage.getItem('ključ'));

lokalnoSkladište[уреди | уреди извор]

// Čuva vrednost u pretraživaču izvan trajanja sesije
localStorage.setItem('ključ', 'vrednost');
 
// Vraća vrednost(opstaje nakon zatvaranja i ponovnog otvaranja pretraživača)
alert(localStorage.getItem('ključ'));

Pristup podacima za trenutno pretražen domen[уреди | уреди извор]

Sledeći kod može da se koristi za preuzimanje svih vrednosti skladištenih u lokalnom skladištu za trenutno pretražen domen(domen za internet stranicu koji je pretražen).

Ovaj JavaScript kod može da se izvrši pomoću razvojnih alata dostupnih u većini modernih pretraživača kao što su IE Developer Toolbar, Chrome razvojni alati, Firebug produžetak u Firefox, ili Opera Dragonfly:

var izlaz = "LOKALNOSKLADIŠTE:\n------------------------------------\n";
if (window.localStorage) {
    if (localStorage.length) {
       for (var i = 0; i < localStorage.length; i++) {
           izlaz += localStorage.key(i) + ': ' + localStorage.getItem(localStorage.key(i)) + '\n';
       }
    } else {
       izlaz += 'Ne postoji sačuvani podatak za ovaj domen.';
    }
} else {
     izlaz += 'Tvoj pretraživač ne podržava lokalno skladište.'
}
console.log(izlaz);

Tipovi podataka[уреди | уреди извор]

Samo stringovi mogu da budu skladišteni preko "Storage API".[11] Pokušavajući da sačuvamo drugi tip podataka rezultiraće automatskom konverzijom u string u većini pretraživača. Konverzija u JSON (JavaScript Object Notation) dopušta efektivno skladištenje JavaScript objekata.

// Uskladišti objekat umesto stringa
localStorage.setItem('key', {name: 'value'});
alert(typeof localStorage.getItem('key')); // string
 
// Uskladišti ceo broj umesto stringa 
localStorage.setItem('key', 1);
alert(typeof localStorage.getItem('key')); // string
 
// Uskladišti objekat koristeći JSON
localStorage.setItem('key', JSON.stringify({name: 'value'}));
alert(JSON.parse(localStorage.getItem('key')).name); // vrednost

Nomenklatura[уреди | уреди извор]

W3C crtež pod nazivom "Internet Skladište", ali "DOM skladište" je takodje često korišćeno ime.[12][13]

"DOM" in DOM skladištu ne referiše direktno naDocument Object Model. Prema W3C, "term DOM je korišćen da referiše na "API set made" dostupan skriptama u Internet aplikacijama i ne podrazumena nužno postojanje stvarnog Dokumet objekta..."[14]

Menadžment Internet skladišta[уреди | уреди извор]

Skladište internet skladišta objekata je dozvoljeno po "default" u Mozilla Firefox i SeaMonkey, ali može biti isključen sa podešavanjem ("about:config" parameter "dom.storage.enabled" to false).[15]

Mozilla Firefox skladišti sve internet skadišne objekte u fajl webappsstore.sqlite. Komanda "sqlite3" može biti korišćena da nam pokaže uskladištene elemente.[16]

Tu su i pretraživački "extensions/add-ons" za Google Chrome i Mozilla Firefox dostupni tako da dopuštaju korisniku da radi sa internet skladištem, kao što su "Click&Clean" i "BetterPrivacy" koji mogu biti podešavani da uklone celo internet skladište automatski na redovnoj osnovi.[17][18][19][20][21]

Vidi još[уреди | уреди извор]

Reference[уреди | уреди извор]

  1. ^ Opera Web Storage, 2011 http://dev.opera.com/articles/view/web-storage/
  2. ^ AndyHume.net, 2011 http://blog.andyhume.net/localstorage-is-not-cookies Архивирано на сајту Wayback Machine (2. април 2011)
  3. ^ Web Storage. W3.org. Приступљено 2011-06-12.
  4. ^ Mozilla Developer Center: DOM Storage Архивирано на сајту Wayback Machine (29. јун 2011). Developer.mozilla.org. Приступљено 2011-06-12.
  5. ^ [1]. HTML5 Web Storage in Essence (2011-02-28). Приступљено 2012-03-30.
  6. ^ John Resig: DOM Storage. John Resig, ejohn.org. Приступљено 2011-06-12.
  7. ^ chrome.storage.local.QUOTA_BYTES Архивирано на сајту Wayback Machine (17. децембар 2013) Chrome extension developer documentation.
  8. ^ Introduction to Web Storage. Microsoft Developer Network, msdn.microsoft.com. Приступљено 2014-08-05.
  9. ^ W3C: Web Storage draft standard Архивирано на сајту Wayback Machine (1. фебруар 2011). Dev.w3.org (2004-02-05). Приступљено 2011-06-12.
  10. ^ W3C: Indexed Database API. W3C. Приступљено 2012-02-12.
  11. ^ W3C, 2011 http://dev.w3.org/html5/webstorage/ Архивирано на сајту Wayback Machine (1. фебруар 2011)
  12. ^ Mozilla Developer Center: DOM Storage Архивирано на сајту Wayback Machine (29. јун 2011). Developer.mozilla.org. Приступљено 2011-06-12.
  13. ^ MSDN: Introduction to DOM Storage Архивирано на сајту Wayback Machine (14. јануар 2015). Msdn.microsoft.com. Приступљено 2011-06-12.
  14. ^ W3C: Web Storage draft standard Архивирано на сајту Wayback Machine (1. фебруар 2011). Dev.w3.org (2004-02-05). Приступљено 2011-06-12.
  15. ^ Mozillazine article on disabling Web Storage Objects in about:config. Kb.mozillazine.org. Приступљено 2011-06-12.
  16. ^ Firefox’s Super Cookies, Cerias, January 16, 2008
  17. ^ "Click&Clean" extension for Google Chrome. Hotcleaner.com (2011-06-01). Приступљено 2011-06-12.
  18. ^ "Click&Clean add-on for Mozilla Firefox Архивирано на сајту Wayback Machine (4. септембар 2014). Addons.mozilla.org. Приступљено 2011-06-12.
  19. ^ Mozilla add-ons page for "Better Privacy" Архивирано на сајту Wayback Machine (4. септембар 2014). Addons.mozilla.org. Приступљено 2011-06-12.
  20. ^ Homepage of "Better Privacy", with some further references to blogs and articles Архивирано на сајту Wayback Machine (23. август 2011). Netticat.ath.cx. Приступљено 2011-06-12.
  21. ^ Google Chrome Browser Client-Side Storage. Hotcleaner.com. Приступљено 2011-06-12.
  22. ^ Indexed Database API. W3.org. Приступљено 2011-06-12.

Spoljašnje veze[уреди | уреди извор]