Forskellen mellem cookie og session

sep 28, 2021
admin

Hvad er en cookie?

En cookie er en lille fil med en maksimal størrelse på 4 KB, som webserveren gemmer på klientcomputeren. Når en cookie er blevet indstillet, returnerer alle efterfølgende sideanmodninger cookie-navnet og -værdien. En cookie kan kun læses fra det domæne, som den er blevet udstedt fra. F.eks. kan en cookie, der er oprettet med domænet www.guru99.com, ikke læses fra domænet career.guru99.com. De fleste websteder på internettet viser elementer fra andre domæner, f.eks. reklamer. De domæner, der serverer disse elementer, kan også sætte deres egne cookies. Disse er kendt som tredjepartscookies. En cookie, der er oprettet af en bruger, kan kun være synlig for vedkommende selv. Andre brugere kan ikke se dens værdi. De fleste webbrowsere har muligheder for at deaktivere cookies, tredjepartscookies eller begge dele.

Hvad er en session?

En session er en global variabel, der er gemt på serveren. Hver session er tildelt et unikt id, som bruges til at hente gemte værdier. Når der oprettes en session, gemmes der en cookie med det unikke sessions-id på brugerens computer, som returneres med hver anmodning til serveren. Hvis klientens browser ikke understøtter cookies, vises det unikke sessions-id i URL-adressen. Sessioner har kapacitet til at lagre relativt store data sammenlignet med cookies.

Sessionsværdierne slettes automatisk, når browseren lukkes. Hvis du ønsker at gemme værdierne permanent, skal du gemme dem i databasen.

Som array-variablen $_COOKIE gemmes sessionsvariabler i array-variablen $_SESSION. Ligesom cookies skal sessionen startes før alle HTML-tags.

Nøgleforskel

  • Cookies er klientsidefiler, der indeholder brugeroplysninger, mens sessioner er serversidefiler, der indeholder brugeroplysninger.
  • Cookie er ikke afhængig af session, men session er afhængig af cookie.
  • Cookie udløber afhængigt af den levetid, du har indstillet for den, mens en session slutter, når en bruger lukker sin browser.
  • Den maksimale cookie-størrelse er 4 KB, mens du i session kan gemme så mange data, som du vil.
  • Cookie har ikke en funktion ved navn unsetcookie(), mens du i Session kan bruge Session_destroy(); som bruges til at ødelægge alle registrerede data eller til at ophæve nogle

Hvorfor og hvornår skal man bruge cookies?

Http er en tilstandsløs protokol; cookies giver os mulighed for at spore programmets tilstand ved hjælp af små filer, der er gemt på brugerens computer. Den sti, hvor cookies gemmes, afhænger af browseren. Internet Explorer gemmer dem normalt i mappen Temporal Internet Files. Personalisering af brugeroplevelsen – dette opnås ved at give brugerne mulighed for at vælge deres præferencer. Den side, der anmodes om efterfølgende, tilpasses personligt på grundlag af de indstillede præferencer i cookies. Sporing af de sider, der besøges af en bruger.

Hvorfor og hvornår skal man bruge Sessions?

For at gemme vigtige oplysninger som f.eks. bruger-id mere sikkert på serveren, hvor ondsindede brugere ikke kan temperere med dem. Sessioner bruges til at overføre værdier fra en side til en anden.

Det bruges også, når du ønsker et alternativ til cookies på browsere, der ikke understøtter cookies, til at gemme globale variabler på en effektiv og mere sikker måde i forhold til at videregive dem i URL’en, udvikle et program som f.eks. en indkøbskurv, der skal gemme oplysninger midlertidigt med en kapacitet større end 4 KB.

Cookie Vs. Session

Cookie
Session
  • Cookies er klient-side filer, der indeholder brugeroplysninger
  • Sessions er server-side filer, der indeholder brugeroplysninger
  • Cookie slutter afhængigt af den levetid, du har indstillet for den
  • En session slutter når en bruger lukker sin browser
  • Du behøver ikke at starte cookien, da den gemmes på din lokale maskine
  • I PHP, før du bruger $_SESSION, skal du skrive session_start(); Det samme gælder for andre sprog
  • Den officielle maksimale cookie-størrelse er 4 KB
  • Inden for sessionen kan du gemme så mange data, som du vil. De eneste grænser, du kan nå, er den maksimale hukommelse, som et script kan forbruge på én gang, hvilket som standard er 128 MB
  • En cookie er ikke afhængig af Session
  • En session er afhængig af Cookie
  • Der findes ingen funktion ved navn unsetcookie()
  • Session_destroy(); bruges til at ødelægge alle registrerede data eller til at fjerne nogle

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.