¿Por qué insertar archivos estáticos (CSS, imágenes, JavaScript, ECC) en un subdominio?


29

¿Por qué tantos sitios grandes y pequeños insertan archivos estáticos (CSS, imágenes, JavaScript, ECC) en un subdominio como media.example.como s2.static.example.com?

¿Cuáles son las ventajas? ¿Por qué no solo un directorio como example.com/media/?

Respuestas:


24

Veo al menos tres posibles (buenas) razones:

  • Use otra máquina para servir el contenido estático.
    • Incluyendo algunos CDN
  • Use otro servidor web para servir el contenido estático
    • Algo más ligero y rápido.
    • ¡No es necesario un servidor PHP / .NET / JAVA completo para servir contenido estático!
  • Usar otro nombre de dominio significa que no podrá tener las cookies que se usan en el dominio principal

Eso es lo que se hace en StackOverflow si no recuerdo mal


15

La razón principal, creo, es por las cookies.

Se enviarán cookies junto con cada solicitud , supongamos que tiene 2kb de datos de cookies y carga 20 imágenes en una página.

Eso es un extra de 40kb de datos, multiplíquelo por la cantidad de visitas a la página que tiene en un mes, y podría sorprenderse de cuánto ancho de banda ha perdido en algo inútil, y el ancho de banda no es gratuito ...

Además, las cookies establecidas en el dominio de nivel superior, se envían a través de todas las solicitudes realizadas a cualquier subdominio, en esos casos, incluso se recomienda comprar un nuevo dominio para alojar los componentes estáticos allí, en un dominio sin cookies .

Por ejemplo, usos de StackOverflow, usos de sstatic.netYahoo yimg.com, usos de YouTube ytimg.com, usos de Amazon images-amazon.com, etc.

Dale un vistazo a esto:


8

Para agregar a algunas de las respuestas anteriores: algunos navegadores web solo pueden descargar dos archivos simultáneamente desde cualquier dominio.

Sirviendo contenido estático de un nombre de host diferente (o nombres - por ejemplo a.domain, b.domain, c.domain) permite a estos navegadores antiguos para descargar más archivos en paralelo.


2

... use dominios sin cookies para los componentes.

Cuando el navegador solicita una imagen estática y envía cookies junto con la solicitud, el servidor no tiene ningún uso para esas cookies. Por lo tanto, solo crean tráfico de red sin una buena razón. Debe asegurarse de que los componentes estáticos se soliciten con solicitudes sin cookies. Cree un subdominio y aloje todos sus componentes estáticos allí.

Este consejo fue tomado de las Mejores prácticas de Yahoo para acelerar su sitio web .


0

Solo porque su solicitud http será más pequeña y el servidor se ejecutará rápidamente y el archivo solicitado se entregará en muy poco tiempo, lo que finalmente conducirá a la carga de página más rápida


Esto no agrega nada que otras respuestas no digan. Ni siquiera dice por qué la solicitud es menor (debido a que no hay cookies), por lo que esta respuesta es peor que muchas otras.
Stephen Ostermiller
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.