http://developer.yahoo.com/performance/rules.html#external
Yahoo (a pesar de que tienen muchos estilos en línea y scripts), recomienda hacerlas externa. Creo que la velocidad de la página de google solía (¿o todavía lo hace?) Hacer lo mismo.
Es realmente una cosa lógica separarlos. Hay tantos beneficios para mantener CSS y JS separados del HTML.Cosas como administración lógica de códigos, almacenamiento en caché de esas páginas, menor tamaño de página (¿prefieres una solicitud de ~ 200ms para un recurso almacenado en caché de 400k o una demora de 4000ms para descargar esos datos en cada página?), Opciones SEO (menos basura para Google para ver cuando los scripts/estilos son externos), más fácil de minimizar los scripts externos (herramientas en línea, etc.), pueden cargarlos de forma síncrona desde diferentes servidores ...
Ese debe ser su objetivo principal en cualquier sitio web. Todos los estilos que componen su sitio web completo deben estar en un archivo (o archivos para cada página, luego fusionados y minificados cuando se actualicen), lo mismo para javascript.
En el mundo real (no haciendo un proyecto para usted, haciendo uno para un cliente o actor interesado en obtener resultados), el único momento en que no tiene sentido cargar otro recurso javascript u otra hoja de estilo (y así use inline styles/javascript) es si hay algún tipo de información dinámica que está en una especie de por usuario, por sesión o por período de tiempo que no puede lograrse simplemente de otra manera. Ejemplo: cuando mi sitio web tiene una promoción, volcamos una etiqueta de script con un pequeño objeto de información JSON. Como no minimizamos ni fusionamos varios archivos, tiene más sentido incluirlo en la página. Claro que hay otras maneras de hacerlo, pero cuesta $ 20 para hacer eso, mientras que podría costar> $ 100 para hacerlo de otra manera.
Quizás Amazon/Facebook/Google etc. usen tanto código en línea para que sus servidores no sean gravados tanto. No estoy muy seguro de la evaluación comparativa entre solicitar un archivo de 1 MB en un hit o solicitar 10 archivos de 100 KB (suponiendo 1 MB/10 = 100 KB por ejemplos), pero ¿qué sería más rápido? Potencialmente, el archivo de 1MB, PERO las solicitudes más pequeñas se pueden cargar de forma síncrona, lo que significa que cada una de esas 10 solicitudes podría provenir de un servidor/dominio aparte potencialmente, lo que reduciría el tiempo total de carga.
Además, las páginas de inicio de google parecen descargar una matriz de información JSON para los widgets, presumiblemente porque compila toda esa información de varias fuentes, la minimiza, la almacena en caché y luego la coloca en la página. construir el diseño (poder de procesamiento del lado del cliente en lugar del lado del servidor).
Esa es una observación interesante. Me pregunto si es porque la mayor parte del tiempo se gasta configurando una conexión HTTP. Si la sobrecarga es lo suficientemente grande, es probable que desee empacar tanto como sea posible en la carga real. –
Sí, pregunta interesante (aunque quizás sea más adecuada en webmasters.SE?) –
Muchos estarán en desacuerdo, pero no hace gran diferencia. Siempre pongo los css y js que escribo en la página html. Es mucho más conveniente cambiarlo cuando puedo leer fácilmente las cosas. –