Java (Tomcat): Come configurare un sottodominio cookie per servire contenuti statici

StackOverflow https://stackoverflow.com/questions/2884065

  •  04-10-2019
  •  | 
  •  

Domanda

Una delle suggerimento dato sia da Google e Yahoo! Per accelerare le pagine web di carico è quello di configurare un sottodominio senza cookie al contenuto del server statico.

Come si configura un "sottodominio cookie" utilizzando Tomcat in modalità standalone (questa domanda non è su come utilizzare Apache per servire il contenuto statico in un cookie a senso unico, ma su come farlo in modalità Tomcat-alone)?

Si noti che non mi interessa sui filtri di supporto If-Modified-Since e l'assistenza sui filtri che supportano gzipping: il contenuto statico sto servendo è per sempre in cache (o il nome cambierà) ed è già compressi i dati (in modo gzip sarebbe solo lento giù il trasferimento).

Ho bisogno di due diverse webapps Tomcat? (Uno "cookiefull" e un "cookie")

Ho bisogno di due servlet diversi? (Fin d'ora ho solo una dispatcher / regolatore servlet).

Perché un link "regolare", per esempio, un'immagine statica essere chiamato in modo cookiefull quando sarebbe sullo stesso dominio del webapp principale e poi essere chiamato in un modo "cookie-less" quando è su un sottodominio?

Non capisco esattamente cosa sta succedendo: è il browser che decide di pubblicare o meno i cookie alla query? Se sì, perché non è vero aggiungere il cookie a una query statica su un sottodominio "cookie".

Qualsiasi esempio di ciò che sta succedendo dietro le quinte è il benvenuto:)

È stato utile?

Soluzione

Hai solo bisogno di messa a punto un altro dominio. Si può puntare agli stessi webapps. Basta fare in modo di non far cadere i cookie su questo nuovo dominio.

Ad esempio, il tuo sito principale è

  www.example.com

e si può avere un altro dominio

  static.example.com 

Per le risorse cookie meno statico. Possono puntare agli stessi padroni di casa, vanno allo stesso Servlet. Hai solo bisogno di assicurarsi che nella vostra app che non far cadere i cookie per questi contenuti statici.

EDIT: Assumendo che il contenuto statico viene servita dalla servlet predefinito in Tomcat, non c'è bisogno di fare nulla. Non cadere i cookie per voi in modo che il nuovo dominio dovrebbe essere biscotto gratuito.

Se è necessario elaborare il contenuto statico nella stessa servlet, si può fare qualcosa di simile,

   if (!request.getServerName().equals("static.example.com")) {
       // Drop cookie
   }

In questo esempio si presuppone che non far cadere cookie nel dominio principale (.example.com). Se lo fai, è necessario ottenere un altro dominio, come examplecdn.com.

Altri suggerimenti

ho postato su questo qui: URL / sottodominio riscrive (.htaccess)

pensate di avere all'indietro, (o molto probabilmente faccio) per chiarire, se il vostro attuazione di un sottodominio di cookie-less e avere un URL di base di www. Atleast in questo caso i cookie sono impostati su www, ad esempio: un importante setter cookie è Google Analytics, in modo da quando si imposta il loro scritto sul mio sito che assomiglia a questo:

`var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'analytics-acc-#],

['_setDomainName', '[www.valpocreative.com] 2 '],

['_trackPageview']);

`

È possibile vedere qui che ho impostato il mio dominio principale per www, mi corregga se sbaglio nel mio caso avrei bisogno di reindirizzare www a www sottodominio non e non il contrario. Questa è anche la messa a punto cname fatta sul mio cPanel (cname = "cdn" indicando www.domain.com)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top