Come posso impostare un dominio senza cookie?


24

Ho letto che è meglio servire contenuto statico (css, javascript, ecc.) Da un dominio o sottodominio senza cookie per prestazioni migliori. Presumo che un dominio non sia privo di cookie per impostazione predefinita. Come faccio a specificare che non desidero utilizzare i cookie?


3
Questo genere di cose non importa davvero a meno che non si stiano servendo migliaia di pagine all'ora o migliaia di pagine al minuto.

"Nonostante facciamo del nostro meglio per ridurre le dimensioni dei cookie, il nostro uso di Google Analytics pone la dimensione media dei cookie dell'utente intorno a 1 kilobyte." Utile e correlato - chrishateswriting.com/post/68794699432/small-things-add-up
mvark

Risposte:


26

Quando cose come YSlow e Page Speed ti dicono di impostare domini senza cookie, ciò che realmente significano è servire media da un dominio in cui non ne imposterai nessuno o non ne hai impostato uno (a livello globale) in passato. A volte ciò può essere realizzato utilizzando sottodomini, come media.domain.com, o static.domain.com, tuttavia, se si imposta un cookie domain.comche si applica al dominio nel suo insieme - un cookie per *.domain.com- questo cookie verrà inviato dal client al server su ogni richiesta per ogni dominio associato domain.com. Ciò include tutti i sottodomini.

Il cookie globale diventa un problema se decidi di rinunciare all'uso www.nei tuoi domini. Senza un sottodominio specifico per cui impostare un cookie, tutti i cookie devono essere impostati *.domain.comaffinché possano funzionare.

Questo problema globale dei cookie è il motivo per cui vedrai contenuti statici pubblicati da luoghi come ytimg.comsu YouTube. ytimg.comnon servirà mai contenuti dinamici in grado di impostare cookie, il che significa che nessun cookie verrà mai rispedito dal client al server quando questi domini fanno parte delle richieste HTTP.

Se sei certo di non avere mai impostato un cookie, *.domain.compuoi utilizzare un sottodominio per le tue esigenze. Tieni presente che la maggior parte delle volte, se ti integri con un altro sito o servizio tramite Javascript, imposteranno cookie di dominio globali.

In Apache (e sono sicuro che ogni altro server web) è possibile impostare o deselezionare le intestazioni prima di rispondere alle richieste. Ciò non risolverà il problema del client che invia il cookie al tuo server, ma impedirà ai tuoi domini di inviare o impostare cookie inizialmente. Solo un problema se offri contenuti non statici dai tuoi domini senza cookie, il che ne vanifica lo scopo.

Header unset Cookie
Header unset Set-Cookie 

Ciò disinserirà le intestazioni dei cookie esistenti e della creazione di nuovi cookie. Ancora una volta, solo un problema se offri contenuti dai tuoi domini statici che potrebbero potenzialmente impostare un cookie. Inseriscilo nel tuo sito o nella configurazione di virtualhost (che a seconda del tuo sistema operativo, server e versione potrebbe essere un numero qualsiasi di posti).


"Solo un problema se offri contenuti non statici dai tuoi domini senza cookie, il che ne vanifica lo scopo." - perché, esattamente? Non c'è nulla sul contenuto generato dinamicamente che richiede intrinsecamente i cookie.

1
Non ho detto che pubblicare contenuti dinamici dal tuo dominio statico abbia intrinsecamente impostato nulla. Ho detto che i cookie sarebbero un problema se offrissi contenuti dinamici che impostano i cookie dal tuo dominio statico. Lo scopo del dominio statico è quello di servire contenuti che non richiedono interazione: immagini, css, js, ecc. I contenuti dinamici - che è dove devono essere impostati i cookie - non devono essere gestiti dal dominio statico.
Bryson,

6

Come faccio a specificare che non desidero utilizzare i cookie?

Non si tratta di ciò che è necessario fare per avere un dominio senza cookie - si tratta piuttosto di ciò che è necessario non fare ... Per disporre di un dominio senza cookie è necessario assicurarsi che l'applicazione in esecuzione su quel dominio non imposti alcun cookie . Questo di solito significa non avere accessi, non avere google analytics, non avere sessioni - cioè semplicemente servire media e nient'altro. Ovviamente questo dipende dalla tua configurazione.

Un errore che ho fatto di recente è che non ho fatto la distinzione tra un dominio e un sottodominio. Ho iniziato a servire tutti i miei media http://media.example.compensando che si trattasse di un dominio senza cookie, ma in realtà è un sottodominio e ho trovato molti dei miei cookie dal sito principale in http://www.example.comcui sono stati impostati a livello di dominio e quindi inquinando il mio sottodominio presumibilmente senza cucina. Ecco il link per come ho risolto quel problema: /server/160210/nginx-serve-static-content-from-a-cookieless-domain


2
I cookie di www.example.net non verranno inviati a static.example.net, ma i cookie di example.netsaranno. La soluzione è reindirizzare example.neta www.example.net.
TRiG,

3

Come faccio a specificare che non desidero utilizzare i cookie?

Non è necessario specificare che non si desidera utilizzare i cookie, semplicemente non li si utilizza.


3
Non sempre un'opzione. Le integrazioni di funzionalità Javascript di altri siti imposteranno generalmente i cookie globali per il dominio, che tu li voglia o no.
Bryson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.