Veb-skladište
![]() | Овај чланак је започет или проширен кроз пројекат семинарских радова. Потребно је проверити превод, правопис и вики-синтаксу. Када завршите са провером, допишете да након |проверено=. |
HTML | |||
---|---|---|---|
Poređenja | |||
|
|||
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.[ажурирање] 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š
[уреди | уреди извор]- HTTP cookies
- Indexed Database API[22] (formerly WebSimpleDB)
- Web SQL Database
- Local Shared Objects in Adobe Flash
- userData Behavior in Internet Explorer
- Google Gears for IE, Firefox, Safari and Windows Mobile
Reference
[уреди | уреди извор]- ^ Opera Web Storage, 2011 http://dev.opera.com/articles/view/web-storage/
- ^ AndyHume.net, 2011 http://blog.andyhume.net/localstorage-is-not-cookies Архивирано на сајту Wayback Machine (2. април 2011)
- ^ Web Storage. W3.org. Приступљено 2011-06-12.
- ^ Mozilla Developer Center: DOM Storage Архивирано на сајту Wayback Machine (29. јун 2011). Developer.mozilla.org. Приступљено 2011-06-12.
- ^ [1]. HTML5 Web Storage in Essence (2011-02-28). Приступљено 2012-03-30.
- ^ John Resig: DOM Storage. John Resig, ejohn.org. Приступљено 2011-06-12.
- ^ chrome.storage.local.QUOTA_BYTES Архивирано на сајту Wayback Machine (17. децембар 2013) Chrome extension developer documentation.
- ^ Introduction to Web Storage. Microsoft Developer Network, msdn.microsoft.com. Приступљено 2014-08-05.
- ^ W3C: Web Storage draft standard Архивирано на сајту Wayback Machine (1. фебруар 2011). Dev.w3.org (2004-02-05). Приступљено 2011-06-12.
- ^ W3C: Indexed Database API. W3C. Приступљено 2012-02-12.
- ^ W3C, 2011 http://dev.w3.org/html5/webstorage/ Архивирано на сајту Wayback Machine (1. фебруар 2011)
- ^ Mozilla Developer Center: DOM Storage Архивирано на сајту Wayback Machine (29. јун 2011). Developer.mozilla.org. Приступљено 2011-06-12.
- ^ MSDN: Introduction to DOM Storage Архивирано на сајту Wayback Machine (14. јануар 2015). Msdn.microsoft.com. Приступљено 2011-06-12.
- ^ W3C: Web Storage draft standard Архивирано на сајту Wayback Machine (1. фебруар 2011). Dev.w3.org (2004-02-05). Приступљено 2011-06-12.
- ^ Mozillazine article on disabling Web Storage Objects in about:config. Kb.mozillazine.org. Приступљено 2011-06-12.
- ^ Firefox’s Super Cookies, Cerias, January 16, 2008
- ^ "Click&Clean" extension for Google Chrome. Hotcleaner.com (2011-06-01). Приступљено 2011-06-12.
- ^ "Click&Clean add-on for Mozilla Firefox Архивирано на сајту Wayback Machine (4. септембар 2014). Addons.mozilla.org. Приступљено 2011-06-12.
- ^ Mozilla add-ons page for "Better Privacy" Архивирано на сајту Wayback Machine (4. септембар 2014). Addons.mozilla.org. Приступљено 2011-06-12.
- ^ Homepage of "Better Privacy", with some further references to blogs and articles Архивирано на сајту Wayback Machine (23. август 2011). Netticat.ath.cx. Приступљено 2011-06-12.
- ^ Google Chrome Browser Client-Side Storage. Hotcleaner.com. Приступљено 2011-06-12.
- ^ Indexed Database API. W3.org. Приступљено 2011-06-12.