Django Academy · leksjon

Cookies kontra sessions

Velg riktig sted å lagre tilstand

Leksjon 4 av 413 trinn

Cookies kontra sessions er en gratis leksjon i Django Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Django Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Django Academy inneholder totalt 4 leksjoner.

To måter å huske på

Både informasjonskapsler og økter hjelper appen med å huske en besøkende, men de lagrer data på svært forskjellige steder. Det er viktig å vite hvilken De bør velge. 🤔

Hva en informasjonskapsel er

En cookie er en liten tekstmengde som nettleseren lagrer og sender tilbake ved hver forespørsel til nettstedet. Dataene ligger på klientsiden.

Angi en informasjonskapsel

De angir en informasjonskapsel på response-objektet med set_cookie ved å oppgi et navn, en verdi og eventuelt en levetid.

response = HttpResponse('Hi')
response.set_cookie('lang', 'en', max_age=3600)

Lese en cookie

Cookies kommer i request.COOKIES, en enkel ordbok. Les verdien tilbake ved hjelp av nøkkelen i den neste forespørselen.

lang = request.COOKIES.get('lang', 'en')

Hvor sesjonsdata lagres

En sesjon lagrer de faktiske dataene på serveren og sender bare en nøkkel til nettleseren. Den besøkende ser aldri innholdet.

Cookies er synlige

Ettersom cookies ligger i nettleseren, kan brukeren lese og endre dem. Du må derfor aldri lagre hemmeligheter som priser eller brukerroller der.

Sesjoner skjuler dataene

Sesjonsdata blir værende på serversiden, så dette er riktig sted for alt som er sensitivt, eller som brukeren ikke må kunne endre.

Størrelsesbegrensninger

Cookies er små og begrenset til rundt 4KB hver, mens sesjoner kan inneholde mye større strukturer siden de ligger i databasen eller hurtigbufferet.

Beskytt cookiene dine

Legg til HttpOnly slik at JavaScript ikke kan lese en cookie, og Secure slik at den bare sendes over HTTPS. Django angir disse som standard for sessionid.

response.set_cookie('t', '1', httponly=True, secure=True)

Når du bør bruke en cookie

Bruk en vanlig cookie for små, ikke-hemmelige innstillinger, for eksempel et tema eller et valgt språk som det er greit at brukeren kan se.

Når du bør bruke en sesjon

Bruk en sesjon for innloggingsstatus, handlekurver eller annet privat. Den beskytter cookien med pålitelig lagring på serveren.

Hurtigsjekk

Du må lagre en verdi som brukeren aldri må kunne lese eller endre. Hva passer best?

Oppsummering

Du sammenlignet cookies og sesjoner: cookies lagrer små, synlige data på klienten, mens sesjoner lagrer større, private data på serveren. Velg ut fra hvor sensitivt og omfattende innholdet er. 🎉

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Cookies kontra sessions» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Django Academy, inkludert «Cookies kontra sessions», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Django Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Cookies kontra sessions»?

Velg riktig sted å lagre tilstand Du øver på Django Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Django Academy?

Ingen tidligere erfaring er nødvendig. Django Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Cookies kontra sessions»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Django Academy-leksjonen?

Ja. Alle Django Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Session-rammeverket
  2. Lese og skrive request.session
  3. Messages-rammeverket
  4. Cookies kontra sessions
← Tilbake til Django Academy