2009-06-05 14 views
21

Stavo leggendo nella documentazione di Google il loro nuovo pagespeed plug-in, che consiglia di utilizzare cookieless domains per migliorare le prestazioni:Come si configura IIS con un dominio senza cookie per migliorare le prestazioni?

contenuti statici, come ad esempio immagini, file JS e CSS, non hanno bisogno di essere accompagnati da biscotti, poiché non c'è interazione dell'utente con queste risorse. Puoi ridurre la latenza delle richieste servendo risorse statiche da un dominio che non serve i cookie.

Qualcuno sa come farlo in IIS?

+0

serverfault.com potrebbe ottenere più risultati – Will

+0

Ci sono un sacco di domande relative a IIS su SO, quindi penso è appropriato (incluso uno da te: http://stackoverflow.com/questions/321939/control-a-service-on-a-remote-server-from-iis) – Keltex

+2

Questa è una domanda relativa a SO dev. – Kev

risposta

23

Quello che l'articolo di Google suggerisce è che offri tutti i tuoi contenuti statici da un altro dominio in cui i cookie non sono inizialmente impostati da quel dominio di servizio.

I cookie sono impostati in due modi: dai cookie di sessione (ad esempio, da richieste ASP o ASP.NET) o esplicitamente dall'applicazione.

Questi saranno postati sul server su ogni richiesta successiva per il dominio che imposta il cookie (indipendentemente dal fatto che la richiesta sia per contenuto statico o dinamico) aumentando così il carico utile della richiesta.

Quello che stai facendo avendo un secondo dominio per servire il contenuto statico (HTML, CSS, Immagini ecc.) Sta facendo richieste senza cookie perché nessun cookie iniziale sarebbe stato impostato in primo luogo per quel dominio.

In IIS è l'applicazione, il filtro ISAPI o l'estensione ISAPI che aggiungerà un cookie. Se il server IIS non sta intercettando le richieste di contenuto statico (poiché questo viene in genere gestito dal driver http.sys in modalità kernel), alla risposta non verrà aggiunto alcun cookie. È solo oltre la pipeline di richieste che i cookie entrano in gioco.

Quindi in pratica non esiste un modo per configurare in modo esplicito i domini senza cookie in IIS.

9

Se si inseriscono semplicemente tutte le risorse statiche, ad esempio, static.mysite.com, e se non si impostano mai cookie in quel dominio, il browser non invierà mai un cookie quando recupera una risorsa dal proprio dominio statico .

Questo è tutto ciò che Google sta dicendo. Non c'è niente da configurare, solo da organizzare.

+1

Sì, ma eliminando questo più che compensare l'aumento della ricerca DNS? Se la tua pagina contiene contenuti DNS da più di un dominio (anche se è uno dei tuoi sottodomini), non richiede 2 ricerche DNS? –

3

AFAIK google analytics imposta cookie per tutti i sottodomini, quindi sarebbe inutile se si utilizza l'analisi?

+0

In che modo Google Analytics dovrebbe conoscere il sottodominio? – Olaf

+0

@olaf, non lo fa, assume solo tutto sotto, ad es. * .mydomain.com –

6

AFAIK google analytics imposta cookie per tutti i sottodomini, quindi sarebbe inutile se si utilizza l'analisi?

Ho sperimentato anche questo, è necessario utilizzare un dominio diverso del tutto per evitare di impostare cookie di analisi/adsense. L'uso di static.yourdomain.com non lo taglierà.

Ecco perché speriamo che Google cambi i loro cookie di analisi in modo che non tutti debbano acquistare nuovi domini per offrire contenuti senza cookie.

1

Ecco un esempio utilizzando il codice di monitoraggio asincrono di Google Analytics, di come impostare il dominio per il monitoraggio: _gaq.push(['_setAccount', 'UA-XXXXXXX-x'],['_setDomainName', 'www.example.com'],['_trackPageview']);

Ecco un esempio utilizzando la versione precedente del codice di monitoraggio:

 
var pageTracker = _gat._getTracker("UA-XXXXXXX-x"); 
pageTracker._setDomainName("www.example.com"); 
pageTracker._trackPageview(); 

ed ecco quello che Google ha da dire su questo: Google Analytics & Cookies

Problemi correlati