Django Academy · Lekcja

Cookies a sesje

Wybór właściwego miejsca do przechowywania stanu

Lekcja 4 z 413 kroki

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. 🎉

Bezpłatny start

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.

Wszystkie lekcje w tym kursie

  1. The Session Framework
  2. Odczyt i zapis request.session
  3. The Messages Framework
  4. Cookies a sesje
← Powrót do Django Academy