Cookies a sesje
Wybór właściwego miejsca do przechowywania stanu
Cookies a sesje to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.
Dwa sposoby na zapamiętywanie
Zarówno pliki cookie, jak i sesje pomagają aplikacji pamiętać odwiedzającego, ale przechowują dane w zupełnie różnych miejscach. Warto wiedzieć, które rozwiązanie wybrać. 🤔
Czym jest plik cookie
Plik cookie to niewielki fragment tekstu przechowywany przez przeglądarkę i wysyłany przy każdym żądaniu do serwisu. Dane znajdują się po stronie klienta.
Ustawianie pliku cookie
Ustaw plik cookie w obiekcie odpowiedzi za pomocą set_cookie, podając jego nazwę, wartość i opcjonalnie czas życia.
response = HttpResponse('Hi')
response.set_cookie('lang', 'en', max_age=3600)Odczytywanie ciasteczka
Ciasteczka trafiają do request.COOKIES, czyli prostego słownika. Przy następnym żądaniu odczytaj wartość, używając jej klucza.
lang = request.COOKIES.get('lang', 'en')Gdzie znajdują się dane sesji
Sesja przechowuje właściwe dane na serwerze, a do przeglądarki wysyła tylko klucz. Odwiedzający nigdy nie widzi zawartości.
Ciasteczka są widoczne
Ponieważ ciasteczka znajdują się w przeglądarce, użytkownik może je odczytywać i edytować. Dlatego nigdy nie przechowuj w nich sekretów, takich jak ceny czy role użytkowników.
Sesje ukrywają dane
Dane sesji pozostają po stronie serwera, dlatego jest to właściwe miejsce na wszystko, co wrażliwe lub czego użytkownik nie może modyfikować.
Limity rozmiaru
Ciasteczka są niewielkie — każde ma limit wynoszący około 4KB — natomiast sesje mogą przechowywać znacznie większe struktury, ponieważ znajdują się w bazie danych lub pamięci podręcznej.
Chroń swoje ciasteczka
Dodaj HttpOnly, aby JavaScript nie mógł odczytywać ciasteczka, oraz Secure, aby było ono wysyłane wyłącznie przez HTTPS. Django domyślnie ustawia te opcje dla sessionid.
response.set_cookie('t', '1', httponly=True, secure=True)Kiedy używać ciasteczka
Wybierz zwykłe ciasteczko dla niewielkich, niepoufnych preferencji, takich jak motyw lub wybrany język, których widoczność dla użytkownika jest akceptowalna.
Kiedy używać sesji
Używaj sesji do przechowywania stanu logowania, koszyków zakupowych i wszelkich prywatnych danych. Sesja bezpiecznie wykorzystuje ciasteczko jako odwołanie do zaufanego magazynu po stronie serwera.
Szybkie sprawdzenie
Musisz przechować wartość, której użytkownik nigdy nie może odczytać ani zmienić. Co będzie najlepszym rozwiązaniem?
Podsumowanie
Porównał(a) Pan/Pani ciasteczka i sesje: ciasteczka przechowują niewielkie, widoczne dane po stronie klienta, a sesje — większe, prywatne dane na serwerze. Wybieraj rozwiązanie na podstawie wrażliwości i rozmiaru danych. 🎉
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Cookies a sesje” jest bezpłatna?
Tak — pełny tekst „Cookies a sesje” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Cookies a sesje”?
Wybór właściwego miejsca do przechowywania stanu Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Django Academy?
Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Cookies a sesje”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?
Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.