Perché inserire file statici (CSS, immagini, JavaScript, ECC) in un sottodominio?


29

Perché così tanti siti grandi e piccoli inseriscono file statici (CSS, immagini, JavaScript, ECC) in un sottodominio simile media.example.como s2.static.example.com?

Quali sono i vantaggi? Perché non solo una directory come example.com/media/?

Risposte:


24

Vedo almeno tre possibili (buoni) motivi:

  • Utilizzare un altro computer per servire il contenuto statico
    • Compresi alcuni CDN
  • Utilizzare un altro server Web per servire il contenuto statico
    • Qualcosa di più leggero e veloce
    • Non è necessario un server PHP / .NET / JAVA completo per servire contenuto statico!
  • L'uso di un altro nome di dominio ti consentirà di non avere i cookie utilizzati nel dominio principale

Questo è ciò che viene fatto su StackOverflow se ricordo bene


15

La ragione principale per cui penso è per i cookie.

I cookie verranno inviati insieme ad ogni richiesta , supponiamo che tu abbia 2kb di dati sui cookie e carichi 20 immagini su una pagina.

Questo è un extra di 40kb di dati, moltiplicalo per il numero di visualizzazioni di pagina che hai in un mese e potresti essere sorpreso di quanta larghezza di banda hai perso in qualcosa di inutile e la larghezza di banda non è gratuita ...

Inoltre, i cookie impostati sul dominio di primo livello, vengono inviati attraverso tutte le richieste fatte a qualsiasi sottodominio, in quei casi, si consiglia addirittura di acquistare un nuovo dominio per ospitare lì i componenti statici, in un dominio privo di cookie .

Ad esempio, StackOverflow utilizza sstatic.net, utilizza Yahoo yimg.com, utilizza YouTube ytimg.com, utilizza Amazon images-amazon.com, ecc.

Dai un'occhiata a questo:


8

Per aggiungere ad alcune delle risposte sopra: alcuni browser Web possono scaricare solo due file contemporaneamente da qualsiasi dominio.

Serve contenuti statici da un nome host diverso (o nomi - ad esempio a.domain, b.domain, c.domain) permette a questi vecchi browser per scaricare più file in parallelo.


2

... usa domini senza cookie per i componenti.

Quando il browser effettua una richiesta per un'immagine statica e invia i cookie insieme alla richiesta, il server non ha alcun uso per tali cookie. Quindi creano traffico di rete solo senza una buona ragione. È necessario assicurarsi che i componenti statici siano richiesti con richieste senza cookie. Crea un sottodominio e ospita tutti i componenti statici lì.

Questo consiglio è stato tratto dalle migliori pratiche di Yahoo per velocizzare il tuo sito web .


0

Solo perché la tua richiesta http sarà più piccola e il server funzionerà rapidamente e il file richiesto verrà fornito in un tempo molto breve, che alla fine porterà al caricamento della pagina più veloce


Questo non aggiunge nulla che altre risposte non dicono già. Non dici nemmeno perché la richiesta è più piccola (a causa della mancanza di cookie), quindi questa risposta è peggiore di molte altre.
Stephen Ostermiller
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.