Internet skladište

Из Википедије, слободне енциклопедије

Internet skladište i 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,[6] Mozilla Firefox,[7] i Opera; 10 MB za skladišni deo Internet Explorer;[8] 25MB za deo na BlackBerry 10 devices) u poredjenju sa 4 kB (oko 1000 puta manje mesta) dostupno na kolačićima.

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"[17][18] i "BetterPrivacy"koji mogu biti podešavani da uklone celo internet skladište automatski na redovnoj osnovi.[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
  3. Web Storage. W3.org. Retrieved on 2011-06-12.
  4. Mozilla Developer Center: DOM Storage. Developer.mozilla.org. Retrieved on 2011-06-12.
  5. [1]. HTML5 Web Storage in Essence (2011-02-28). Retrieved on 2012-03-30.
  6. chrome.storage.local.QUOTA_BYTES Chrome extension developer documentation.
  7. John Resig: DOM Storage. John Resig, ejohn.org. Retrieved on 2011-06-12.
  8. Introduction to Web Storage. Microsoft Developer Network, msdn.microsoft.com. Retrieved on 2014-08-05.
  9. W3C: Web Storage draft standard. Dev.w3.org (2004-02-05). Retrieved on 2011-06-12.
  10. W3C: Indexed Database API. W3C. Retrieved on 2012-02-12.
  11. W3C, 2011 http://dev.w3.org/html5/webstorage/
  12. Mozilla Developer Center: DOM Storage. Developer.mozilla.org. Retrieved on 2011-06-12.
  13. MSDN: Introduction to DOM Storage. Msdn.microsoft.com. Retrieved on 2011-06-12.
  14. W3C: Web Storage draft standard. Dev.w3.org (2004-02-05). Retrieved on 2011-06-12.
  15. Mozillazine article on disabling Web Storage Objects in about:config. Kb.mozillazine.org. Retrieved on 2011-06-12.
  16. Firefox’s Super Cookies, Cerias, January 16, 2008
  17. "Click&Clean" extension for Google Chrome. Hotcleaner.com (2011-06-01). Retrieved on 2011-06-12.
  18. "Click&Clean add-on for Mozilla Firefox. Addons.mozilla.org. Retrieved on 2011-06-12.
  19. Mozilla add-ons page for "Better Privacy". Addons.mozilla.org. Retrieved on 2011-06-12.
  20. Homepage of "Better Privacy", with some further references to blogs and articles. Netticat.ath.cx. Retrieved on 2011-06-12.
  21. Google Chrome Browser Client-Side Storage. Hotcleaner.com. Retrieved on 2011-06-12.
  22. Indexed Database API. W3.org. Retrieved on 2011-06-12.

Spoljašnje veze[уреди]