Różnica między ciasteczkiem a sesją
Czym jest ciasteczko?
Ciasteczko to mały plik o maksymalnym rozmiarze 4KB, który serwer WWW przechowuje na komputerze klienta. Po ustawieniu pliku cookie wszystkie kolejne żądania stron zwracają nazwę i wartość pliku cookie. Plik cookie może być odczytany tylko z domeny, z której został wystawiony. Na przykład, plik cookie ustawiony przy użyciu domeny www.guru99.com nie może być odczytany z domeny career.guru99.com. Większość stron internetowych w Internecie wyświetla elementy pochodzące z innych domen, takie jak reklamy. Domeny obsługujące te elementy mogą również ustawiać własne pliki cookie. Są one znane jako pliki cookie stron trzecich. Plik cookie utworzony przez użytkownika może być widoczny tylko dla niego. Inni użytkownicy nie mogą zobaczyć jego wartości. Większość przeglądarek internetowych posiada opcje wyłączenia plików cookie, plików cookie osób trzecich lub obu.
Co to jest sesja?
Sesja jest zmienną globalną przechowywaną na serwerze. Każda sesja ma przypisany unikalny identyfikator, który jest używany do pobierania przechowywanych wartości. Za każdym razem, gdy tworzona jest sesja, plik cookie zawierający unikalny identyfikator sesji jest przechowywany na komputerze użytkownika i zwracany z każdym żądaniem do serwera. Jeśli przeglądarka klienta nie obsługuje plików cookie, unikalny identyfikator sesji jest wyświetlany w adresie URL. Sesje mają zdolność do przechowywania stosunkowo dużych danych w porównaniu z ciasteczkami.
Wartości sesji są automatycznie usuwane po zamknięciu przeglądarki. Jeśli chcesz przechowywać wartości na stałe, to powinieneś przechowywać je w bazie danych.
Tak jak zmienna tablicowa $_COOKIE, zmienne sesyjne są przechowywane w zmiennej tablicowej $_SESSION. Podobnie jak ciasteczka, sesja musi być uruchomiona przed jakimikolwiek znacznikami HTML.
RÓŻNICE KLUCZOWE
- Cookies są plikami po stronie klienta, które zawierają informacje o użytkowniku, natomiast Sesje są plikami po stronie serwera, które zawierają informacje o użytkowniku.
- Cookie nie zależy od Sesji, natomiast Sesja zależy od Cookie.
- Cookie wygasa w zależności od czasu życia, który dla niego ustawiłeś, natomiast Sesja kończy się, gdy użytkownik zamyka przeglądarkę.
- Maksymalny rozmiar ciasteczka to 4KB, podczas gdy w Sesji możesz przechowywać tyle danych, ile chcesz.
- Cookie nie posiada funkcji o nazwie unsetcookie(), podczas gdy w Sesji możesz użyć Session_destroy(); która jest używana do zniszczenia wszystkich zarejestrowanych danych lub do usunięcia niektórych
Dlaczego i kiedy używać Ciasteczek?
Http jest protokołem bezstanowym; ciasteczka pozwalają nam śledzić stan aplikacji za pomocą małych plików przechowywanych na komputerze użytkownika. Ścieżka, w której przechowywane są ciasteczka zależy od przeglądarki. Internet Explorer zazwyczaj przechowuje je w folderze Temporal Internet Files. Personalizacja doświadczeń użytkownika – jest to osiągane poprzez umożliwienie użytkownikom wyboru preferencji. Kolejne żądane strony są personalizowane w oparciu o ustawione preferencje w plikach cookies. Śledzenie stron odwiedzanych przez użytkownika.
Dlaczego i kiedy używać sesji?
Aby przechowywać ważne informacje, takie jak identyfikator użytkownika, bezpieczniej na serwerze, gdzie złośliwi użytkownicy nie mogą się do nich przywłaszczyć. Sesje są używane do przekazywania wartości z jednej strony na drugą.
Jest również używany, gdy chcesz alternatywę dla plików cookie na przeglądarkach, które nie obsługują plików cookie, do przechowywania zmiennych globalnych w sposób wydajny i bardziej bezpieczny w porównaniu do przekazywania ich w adresie URL, rozwój aplikacji, takich jak koszyk na zakupy, który musi tymczasowo przechowywać informacje o pojemności większej niż 4KB.
Cookie Vs. Session
|
|
|
|
|
|
|
|
|
|
|
|
.