Differenza tra cookie e sessione

Sommario:

Anonim

Cos'è il cookie?

Un cookie è un piccolo file con la dimensione massima di 4KB che il server web memorizza sul computer client. Una volta impostato un cookie, tutte le richieste di pagina che seguono restituiscono il nome e il valore del cookie. Un cookie può essere letto solo dal dominio da cui è stato emesso. Ad esempio, un cookie impostato utilizzando il dominio www.guru99.com non può essere letto dal dominio career.guru99.com. La maggior parte dei siti Web su Internet mostra elementi di altri domini come la pubblicità. I domini che servono questi elementi possono anche impostare i propri cookie. Questi sono noti come cookie di terze parti. Un cookie creato da un utente può essere visibile solo a lui. Gli altri utenti non possono vederne il valore. La maggior parte dei browser Web dispone di opzioni per disabilitare i cookie, i cookie di terze parti o entrambi.

Cos'è una sessione?

Una sessione è una variabile globale memorizzata sul server. A ogni sessione viene assegnato un ID univoco che viene utilizzato per recuperare i valori memorizzati. Ogni volta che viene creata una sessione, un cookie contenente l'ID di sessione univoco viene memorizzato sul computer dell'utente e restituito con ogni richiesta al server. Se il browser del client non supporta i cookie, l'ID di sessione univoco viene visualizzato nell'URL. Le sessioni hanno la capacità di memorizzare dati relativamente grandi rispetto ai cookie.

I valori di sessione vengono automaticamente cancellati alla chiusura del browser. Se si desidera memorizzare i valori in modo permanente, è necessario archiviarli nel database.

Proprio come la variabile di matrice $ _COOKIE, le variabili di sessione vengono memorizzate nella variabile di matrice $ _SESSION. Proprio come i cookie, la sessione deve essere avviata prima di qualsiasi tag HTML.

DIFFERENZA CHIAVE

  • I cookie sono file lato client che contengono informazioni sull'utente, mentre le sessioni sono file lato server che contengono informazioni sull'utente.
  • Il cookie non dipende dalla sessione, ma la sessione dipende dal cookie.
  • Il cookie scade a seconda della durata impostata per esso, mentre una sessione termina quando un utente chiude il proprio browser.
  • La dimensione massima del cookie è 4KB mentre in sessione puoi memorizzare tutti i dati che desideri.
  • Cookie non ha una funzione chiamata unsetcookie () mentre in Session puoi usare Session_destroy (); che viene utilizzato per distruggere tutti i dati registrati o per annullarne alcuni

Perché e quando utilizzare i cookie?

Http è un protocollo senza stato; i cookie ci consentono di tracciare lo stato dell'applicazione utilizzando piccoli file memorizzati sul computer dell'utente. Il percorso in cui vengono memorizzati i cookie dipende dal browser. Internet Explorer di solito li memorizza nella cartella Temporal Internet Files. Personalizzazione dell'esperienza utente: ciò si ottiene consentendo agli utenti di selezionare le proprie preferenze. Le pagine richieste che seguono sono personalizzate in base alle preferenze impostate nei cookie. Tracciamento delle pagine visitate da un utente.

Perché e quando utilizzare le sessioni?

Per memorizzare informazioni importanti come l'ID utente in modo più sicuro sul server dove gli utenti malintenzionati non possono temperare con loro. Le sessioni vengono utilizzate per passare valori da una pagina all'altra.

Viene anche utilizzato quando si desidera l'alternativa ai cookie su browser che non supportano i cookie, per memorizzare le variabili globali in modo efficiente e più sicuro rispetto al passarle nell'URL, sviluppando un'applicazione come un carrello della spesa che deve temporaneamente memorizzare le informazioni con una capacità superiore a 4KB.

Cookie vs. Sessione

Cookie Sessione
  • I cookie sono file lato client che contengono informazioni sull'utente
  • Le sessioni sono file lato server che contengono informazioni sull'utente
  • Il cookie termina a seconda della durata impostata per esso
  • Una sessione termina quando un utente chiude il browser
  • Non è necessario avviare il cookie poiché è memorizzato nella macchina locale
  • In PHP, prima di usare $ _SESSION, devi scrivere session_start (); Allo stesso modo per altre lingue
  • La dimensione massima ufficiale dei cookie è 4KB
  • All'interno della sessione puoi memorizzare tutti i dati che desideri. L'unico limite che puoi raggiungere è la memoria massima che uno script può consumare in una volta, che è 128 MB per impostazione predefinita
  • Un cookie non dipende dalla sessione
  • Una sessione dipende dai cookie
  • Non esiste una funzione denominata unsetcookie ()
  • Session_destroy (); viene utilizzato per distruggere tutti i dati registrati o per annullarne alcuni