Szkolę się w tworzeniu stron internetowych i uczę się o JSP i serwletach . Mam pewną wiedzę HttpSession
- wykorzystałem ją w niektórych moich przykładowych projektach.
W przeglądarkach widziałem opcję „usuwania plików cookie”. Jeśli usunę pliki cookie, usunie HttpSession
również.
Czy pliki cookie i sesja są takie same? Jakie są między nimi różnice?
Odpowiedzi:
Sesje to pliki po stronie serwera, które zawierają informacje o użytkowniku, natomiast pliki cookie to pliki po stronie klienta zawierające informacje o użytkowniku. Sesje mają unikalny identyfikator, który przypisuje je do określonych użytkowników. Ten identyfikator można przekazać w adresie URL lub zapisać w pliku cookie sesji.
Większość nowoczesnych witryn stosuje drugie podejście, zapisując identyfikator w pliku cookie zamiast przekazywać go w adresie URL (co stwarza zagrożenie bezpieczeństwa). Prawdopodobnie korzystasz z tego podejścia nie wiedząc o tym, a usuwając pliki cookie, skutecznie usuwasz odpowiadające im sesje, usuwając unikalny identyfikator sesji zawarty w plikach cookie.
źródło
Plik cookie to po prostu krótki ciąg tekstowy przesyłany tam iz powrotem między klientem a serwerem. Możesz przechowywać
name=bob; password=asdfas
plik cookie i przesyłać go tam iz powrotem, aby zidentyfikować klienta po stronie serwera. Możesz myśleć o tym jako o wymianie z kasjerem bankowym, który nie ma pamięci krótkotrwałej i potrzebuje Cię do identyfikacji dla każdej transakcji. Oczywiście używanie pliku cookie do przechowywania tego rodzaju informacji jest strasznie niepewne. Pliki cookie mają również ograniczony rozmiar.Teraz, kiedy kasjer bankowy wie o swoim problemie z pamięcią, może zapisać twoje informacje na kartce papieru i przypisać ci krótki numer identyfikacyjny. Następnie zamiast podawać numer konta i prawo jazdy dla każdej transakcji, możesz po prostu powiedzieć „Jestem klientem 12”
Przekładanie tego na serwery sieciowe: serwer przechowuje stosowne informacje w obiekcie sesji i tworzy identyfikator sesji, który odeśle z powrotem do klienta w pliku cookie. Gdy klient odsyła plik cookie, serwer może po prostu wyszukać obiekt sesji za pomocą identyfikatora. Jeśli więc usuniesz plik cookie, sesja zostanie utracona.
Inną alternatywą jest użycie przez serwer przepisywania adresu URL w celu wymiany identyfikatora sesji.
Załóżmy, że masz link -
www.myserver.com/myApp.jsp
możesz przejść przez stronę i przepisać każdy adres URL nawww.myserver.com/myApp.jsp?sessionID=asdf
lub nawetwww.myserver.com/asdf/myApp.jsp
i wymienić identyfikator w ten sposób. Ta technika jest obsługiwana przez kontener aplikacji sieci Web i jest zwykle włączana przez ustawienie konfiguracji do używania sesji bez plików cookie.źródło
Pliki cookie i sesja przechowują informacje o użytkowniku (aby żądanie HTTP było stanowe), ale różnica polega na tym, że pliki cookie przechowują informacje po stronie klienta (przeglądarce), a sesje przechowują informacje po stronie serwera. Plik cookie jest ograniczony w tym sensie, że przechowuje informacje o ograniczonych użytkownikach i przechowuje tylko ograniczone treści dla każdego użytkownika. Sesja nie jest w ten sposób ograniczona.
źródło
Wiele artykułów już w tym wątku, wystarczy podsumować diagram sekwencji, aby zilustrować go w inny sposób.
Jest to również dobry link na ten temat, https://web.stanford.edu/~ouster/cgi-bin/cs142-fall10/lecture.php?topic=cookie
źródło
Cookie to w zasadzie globalna tablica dostępna w przeglądarkach internetowych. Często używany do wysyłania / odbierania wartości. działa jako mechanizm przechowywania w celu uzyskania dostępu do wartości między formularzami. Pliki cookie mogą zostać wyłączone przez przeglądarkę, co powoduje ograniczenie ich używania w porównaniu z sesją.
Sesję można zdefiniować jako coś pomiędzy zalogowaniem się a wylogowaniem. czas pomiędzy zalogowaniem się a wylogowaniem użytkownika jest sesją. Sesja przechowuje wartości tylko na czas sesji, tj. Przed wylogowaniem. Sesje służą do śledzenia aktywności użytkownika po zalogowaniu.
źródło
Google JSESSIONID . To wyjaśnia, w jaki sposób Servlet API początkowo używa ponownego zapisu adresu URL, a następnie, jeśli pliki cookie są włączone, plików cookie do zarządzania sesjami.
Protokół HTTP jest bezstanowy, więc przeglądarka klienta musi wysyłać identyfikator swojej sesji do serwera przy każdym żądaniu. Serwer, w jakikolwiek sposób, używa tego identyfikatora do pobierania danych z tej sesji, udostępniając je przez cały czas trwania żądania.
źródło
Sesja w Asp.net:
1. Utrzymuje dane w całej aplikacji.
2. Utrwala dane, jeśli bieżąca sesja jest aktywna. Jeśli potrzebujemy dostępu do niektórych danych z wielu działań i widoków kontrolerów, sesja jest sposobem na przechowywanie i odzyskiwanie danych.
3. Sesje to pliki po stronie serwera, które zawierają informacje o użytkowniku. [Sesje to unikalny identyfikator, który przypisuje je do konkretnych użytkowników]
Przekładanie tego na serwery sieciowe: serwer przechowuje stosowne informacje w obiekcie sesji i tworzy identyfikator sesji, który odeśle z powrotem do klienta w pliku cookie. Gdy klient odsyła plik cookie, serwer może po prostu wyszukać obiekt sesji za pomocą identyfikatora. Jeśli więc usuniesz plik cookie, sesja zostanie utracona.
źródło
Cookie to sposób na realizację sesji między klientem a serwerem, w ten sposób informacje o sesji przechowywane w pliku cookie. Ale to nie jedyny sposób na przechowywanie informacji o sesji. Innym sposobem jest przechowywanie informacji o sesji w adresie URL.
źródło
Pliki cookie są przechowywane w przeglądarce jako format pliku tekstowego. Przechowywane są w nim ograniczone ilości danych. Dopuszcza tylko 4kb [4096 bajtów] . Zmienna $ _ COOKIE nie będzie przechowywać wielu plików cookie o tej samej nazwie
możemy łatwo uzyskać dostęp do wartości plików cookie, więc jest to mniej bezpieczne . funkcja setcookie () musi pojawić się PRZED
etykietka.
Sesje są przechowywane po stronie serwera, przechowują nieograniczoną ilość danych, przechowują zmienną wielokrotną w sesjach. nie mamy łatwego dostępu do wartości plików cookie, więc jest to bezpieczniejsze .
Linki: różnica między plikami cookie a sesjami
źródło