Protokół HTTP jest jednym z najważniejszych protokołów zapewniających płynną komunikację pomiędzy serwerem a klientem. Główną wadą protokołu HTTP jest to, że jest protokołem bezstanowym, co oznacza, że nie śledzi żadnego rodzaju odpowiedzi ani żądań serwera lub klienta. Aby rozwiązać ten problem, istnieją trzy sposoby śledzenia przydatnych informacji. W tym artykule zobaczymy różnicę między przechowywaniem lokalnym, przechowywaniem sesji i plikami cookie oraz dlaczego znajomość tych terminów jest ważna dla twórcy stron internetowych.
Lokalny magazyn: Ta właściwość interfejsu tylko do odczytu zapewnia dostęp do obiektu lokalnego przechowywania dokumentu; przechowywane dane są przechowywane w sesjach przeglądarki. Podobny do sessionStorage, z tą różnicą, że dane sessionStorage są usuwane po zakończeniu sesji strony, czyli po zamknięciu strony. Jest czyszczony po zamknięciu ostatniej prywatnej karty przeglądarki (dane localStorage dla dokumentu załadowanego w sesji przeglądania prywatnego lub incognito).
pierwsi mukerzy
DOMStringi to formaty przechowywania korzystające z UTF-16 do kodowania danych, w którym na znak wykorzystywane są dwa bajty. Ciągi znaków są generowane automatycznie z kluczy całkowitych, tak samo jak w przypadku obiektów. Dane przechowywane w LocalStorage są specyficzne dla protokołu w dokumencie. Jeśli witryna jest ładowana przez HTTP (np. http://example.com), localStorage zwraca inny obiekt niż w przypadku ładowania przez HTTPS (np. https://abc.com).
Jeśli dokument jest ładowany z adresu URL pliku (tzn. bezpośrednio z lokalnego systemu plików użytkownika, a nie z serwera), wymagania dotyczące zachowania są niezdefiniowane i mogą się różnić w zależności od przeglądarki. Wygląda na to, że każdy plik zwraca inny obiekt przez localStorage we wszystkich obecnych przeglądarkach: URL. Zasadniczo wydaje się, że każdy plik URL ma swój własny, unikalny lokalny obszar przechowywania.
Nie można zagwarantować takiego zachowania, ponieważ, jak wspomniano powyżej, wymagania dotyczące adresu URL pliku pozostają niejasne. W związku z tym istnieje możliwość, że przeglądarki w dowolnym momencie zmienią sposób obsługi plików. Sposób, w jaki niektóre przeglądarki sobie z tym radzą, ewoluował.
Pamięć lokalna ma 4 metody:
- Metoda setItem() – Ta metoda przyjmuje dwa parametry, jeden jest kluczem, a drugi wartością. Służy do przechowywania wartości w określonej lokalizacji z nazwą klucza.
localStorage.setItem(key, value)>
- Metoda getItem() – Ta metoda przyjmuje jeden parametr, którym jest klucz, który służy do pobrania wartości przechowywanej z określoną nazwą klucza.
localStorage.getItem(key)>
- Metoda usuwaniaItem() – Metoda ta służy do usuwania wartości zapisanej w pamięci w odniesieniu do klucza.
localStorage.removeItem(key)>
- Metoda clear() – Ta metoda służy do czyszczenia wszystkich wartości przechowywanych w pamięci lokalnej.
localStorage.clear()>

obraz panelu lokalnego magazynu
Co to jest przechowywanie sesji?
menu ustawień Androida
Dostęp do obiektów Session Storage można uzyskać za pomocą właściwości sessionStorage tylko do odczytu. Różnica między sessionStorage i localStorage polega na tym, że dane localStorage nie wygasają, natomiast dane sessionStorage są usuwane po zakończeniu sesji strony.
Unikalna sesja strony jest tworzona po załadowaniu dokumentu na karcie przeglądarki. Sesje strony są ważne tylko dla jednej karty na raz. Strony są zapisywane tylko na czas otwarcia karty lub przeglądarki; nie utrzymują się po ponownym załadowaniu i przywróceniu strony. Za każdym razem, gdy otwierana jest karta lub okno, tworzona jest nowa sesja; różni się to od plików cookie sesji. Każda karta/okno otwarte z tym samym adresem URL tworzy własny sessionStorage. Kiedy powielasz kartę, sessionStorage z oryginalnej karty jest kopiowane na zduplikowaną kartę. Zamknięcie okna/karty kończy sesję i czyści obiekty sessionStorage.
Protokół strony określa, jakie dane są przechowywane w sessionStorage. W szczególności dane przechowywane przez skrypty dostępne za pośrednictwem protokołu HTTP (na przykład http://abc.com) są przechowywane w oddzielnym obiekcie z tej samej witryny dostępnej za pośrednictwem protokołu HTTPS (na przykład https://abc.com). Numer DOMString to dwa bajty na znak w formacie UTF-16 DOMString. Ciągi znaków są generowane automatycznie z kluczy całkowitych, tak samo jak w przypadku obiektów.
Przechowywanie sesji ma 4 metody:
string.format ciąg Java
- Metoda setItem() – Ta metoda przyjmuje dwa parametry, jeden jest kluczem, a drugi wartością. Służy do przechowywania wartości w określonej lokalizacji z nazwą klucza.
sessionStorage.setItem(key, value)>
- Metoda getIteam() – Ta metoda przyjmuje jeden parametr, którym jest klucz, który służy do pobrania wartości przechowywanej z określoną nazwą klucza.
sessionStorage.getItem(key)>
- Metoda usuwaniaItem() – Metoda ta służy do usuwania wartości zapisanej w pamięci w odniesieniu do klucza.
sessionStorage.removeItem(key)>
- Metoda clear() – Ta metoda służy do czyszczenia wszystkich wartości przechowywanych w pamięci sesji
sessionStorage.clear()>

obraz przechowywania sesji
ciąg znaków Java.format
Ciastko: Termin plik cookie odnosi się wyłącznie do informacji tekstowych o witrynie internetowej. Aby Cię rozpoznać i pokazać wyniki zgodnie z Twoimi preferencjami, ta strona internetowa zapisuje pewne informacje w Twoim systemie lokalnym, gdy odwiedzasz konkretną witrynę. Historia Internetu od dawna naznaczona jest wykorzystaniem plików cookies. Odwiedzający witrynę internetową pyta serwer o stronę internetową, gdy ją odwiedza. Każde żądanie dotyczące serwera jest unikalne. Podobnie, jeśli odwiedzisz witrynę sto razy, każde żądanie zostanie uznane przez serwer za unikalne. Ponieważ serwer co sekundę otrzymuje wiele żądań, przechowywanie informacji o każdym użytkowniku na serwerze nie wydaje się logiczne i oczywiste. Jeśli nie wrócisz, te same informacje mogą nie być już potrzebne. Dlatego wysyłany jest plik cookie, który jest przechowywany na Twoim komputerze lokalnym w celu jednoznacznej identyfikacji Ciebie. Otrzymasz odpowiedź z tego samego serwera przy następnym kliknięciu, ponieważ rozpoznaje Cię. Prawie każdy serwer wykorzystuje ten plik cookie (obecnie istnieją pewne wyjątki ze względu na reklamy). Dlatego też, chociaż w Twoim systemie może znajdować się wiele plików cookie, zostaną one rozpoznane przez serwer i przeanalizowane.
Kiedy po raz pierwszy opracowano pliki cookie, używano ich w celu poprawy doświadczenia programisty. Rozważ odwiedzenie strony internetowej w języku innym niż Twój ojczysty (powiedzmy, angielski). Możesz wybrać angielski jako swój język w sekcji językowej witryny. Jeśli pięć razy odwiedzasz tę samą witrynę internetową, może być konieczna zmiana języka pięć razy dziennie. Dane te są zatem przechowywane w pliku cookie w Twoim systemie. Dzięki temu przy następnym wysłaniu żądania serwer będzie wiedział, że chcesz przeglądać witrynę w języku angielskim. Pliki cookie są w tym względzie niezbędne. Stosowane obecnie pliki cookie skali są znacznie mniejsze niż w powyższym przykładzie.

obraz plików cookie
Różnica między pamięcią lokalną a pamięcią sesyjną , I Ciasteczka
| Lokalny magazyn | Przechowywanie sesji | Ciasteczka |
|---|---|---|
| Pojemność pamięci lokalnej wynosi 5MB/10MB | Pojemność pamięci sesji wynosi 5MB | Pojemność plików Cookies wynosi 4KB |
| Ponieważ nie jest on oparty na sesji, należy go usunąć za pomocą JavaScript lub ręcznie | Jest oparty na sesji i działa w każdym oknie lub karcie. Oznacza to, że dane przechowywane są tylko przez czas trwania sesji, czyli do momentu zamknięcia przeglądarki (lub karty) | Pliki cookie wygasają w zależności od ustawień i działania poszczególnych kart i okien |
| Klient może odczytywać i zapisywać dane w pamięci lokalnej | Klient może odczytywać i zapisywać dane w pamięci lokalnej | Zarówno klienci, jak i serwery mogą odczytywać i zapisywać pliki cookie |
| Nie ma transmisji danych na serwer | Nie ma transmisji danych na serwer | Istnieje transfer danych do serwera |
| Obsługiwane przez wszystkie przeglądarki, także te starsze. | Obsługiwane przez wszystkie przeglądarki, także te starsze | Jest obsługiwany przez wszystkie przeglądarki, w tym starsze przeglądarki |