La regla "todo lo que se requiere antes de que la página comience a representarse debe ser del mismo servidor" generalmente se aplica a suservidores u otros recursos más pequeños: situaciones en las que la búsqueda de DNS puede tomar una fracción notable de un segundo (que puede acumularse rápidamente si sus objetos están esparcidos alrededor de muchos dominios). Con recursos públicos comunes como el caché de jQuery de Google y otras bibliotecas, existe una buena posibilidad de que el navegador de su visitante ya haya realizado esa búsqueda de DNS hoy (porque otros sitios hacen referencia al contenido de ese servicio) y probablemente también tenga el archivo en caché, así que no es necesario realizar la transferencia (o si se realiza una solicitud, es posible que reciba una respuesta breve "304 - no modificado"). Incluso si se necesita una descarga completa para el objeto, la red de entrega de contenido de Google será más rápida para la mayoría de los usuarios que su operación a menor escala.
Una regla relacionada: los objetos que no son necesarios para la función correcta de la página (como lo ve el usuario) deben mencionarse lo más tarde posible en la respuesta HTTP principal. Por ejemplo, cosas como las secuencias de comandos requeridas para los servicios de publicidad / estadísticas (es decir, Google Analytics y su tipo): brinde al usuario su contenido lo más rápido posible y luego cargue el material de fondo que realmente solo le interese. He bloqueado un par de servicios de anuncios / estadísticas (asignándolos a 127.0.0.1 en mi archivo de hosts) porque a menudo son demasiado lentos y los sitios que se refieren a ellos antes solo me dan una página en blanco mientras se esperan los scripts. de referirme a ellos tarde para que pueda leer el contenido que estoy allí mientras las otras cosas se acumulan en el fondo.
La utilidad de un dominio sin cookies para contenido estático es una cuestión de escala. Si todo lo que tiene es una ID de sesión de 10 bytes en las cookies y diez mil visitantes por día que solicitan ~ 20 objetos estáticos por visita, solo está ahorrando ~ 118Mbyte de ancho de banda por mes (20 * 20 * 10000 * 31/1024/1024). Si, por otro lado, su sitio mantiene uno o dos Kbytes de contenido en las cookies, la diferencia puede ser mucho más significativa, especialmente si alguno de sus usuarios accede al sitio a través de conexiones lentas (es decir, GPRS a través de la conexión a un móvil o enlace wifi lleno de gente en un área de alta interferencia) o si recibe millones de visitas por día.
Para resumir, para los scripts que deben cargarse antes de que la página pueda representar mis preferencias serían:
- ajax.googleapis.com, o similar
- nombre de host original de la página de llamada
- dominio estático sin cookies
Para los recursos que no son esenciales para la representación inicial de la página, consúltelos lo más tarde posible e invierta la lista de preferencias anterior (aunque la diferencia entre el nombre de host original y el dominio sin cookies probablemente no sea significativa a menos que esté operando a gran escala) )
With common public resources ... there is a good chance that your visitor's browser has already done that DNS lookup today
Personalmente, no me sentiría cómodo confiando en esto para mi sitio. Me gustaría que fuera lo más rápido posible en la mayor cantidad de situaciones posible. De todos modos, haces buenos puntos. +1