http://developer.yahoo.com/performance/rules.html#external
Yahoo (anche se hanno molti stili inline e script), raccomanda che li rende esterno. Credo che la velocità della pagina di Google usata per (o lo sia ancora?) Faccia lo stesso.
È davvero una cosa logica separarli. Ci sono così tanti vantaggi nel mantenere CSS e JS separati dall'HTML.Cose come la gestione logica del codice, il caching di quelle pagine, la dimensione inferiore della pagina (preferiresti una richiesta di ~ 200ms per una risorsa cache 400kb, o un ritardo di 4000ms dal dover scaricare quei dati su ogni pagina?), Opzioni SEO (meno merda per google per vedere quando gli script/gli stili sono esterni), più facile da ridimensionare gli script esterni (strumenti online ecc.), caricarli in modo sincrono da server diversi ....
Questo dovrebbe essere il tuo obiettivo principale in qualsiasi sito web. Tutti gli stili che compongono l'intero sito Web devono trovarsi in un unico file (o file per ogni pagina, quindi uniti e minificati se aggiornati), lo stesso per javascript.
Nel mondo reale (non fare un progetto per te stesso, farlo per un cliente o stakeholder che vuole ottenere risultati), l'unica volta in cui non ha senso caricare in un'altra risorsa javascript o in un altro foglio di stile (e quindi usa gli stili in linea/javascript) è se esiste una sorta di informazione dinamica che si trova su un tipo di per utente, per sessione o periodo per-tempo che non può essere realizzato semplicemente in qualsiasi altro modo. Esempio: quando il mio sito web ha una promozione, eseguiamo il dump di un tag script con un piccolo oggetto d'informazione JSON. Poiché non riduciamo e uniamo più file, è più logico includerlo nella pagina. Certo, ci sono altri modi per farlo, ma costa $ 20 per farlo, mentre potrebbe costare> $ 100 per farlo in un altro modo.
Forse Amazon/Facebook/Google ecc utilizzano così tanto codice inline è così che i loro server non sono tassati così tanto. Non sono troppo sicuro del benchmarking tra la richiesta di un file da 1 MB in un solo hit o la richiesta di 10 file da 100 KB (presumendo 1 MB/10 = 100 KB per l'interesse degli esempi), ma quale sarebbe più veloce? Potenzialmente il file da 1 MB, MA le richieste più piccole possono essere caricate in modo sincrono, il che significa che ognuna di queste 10 richieste potrebbe provenire da un server/dominio separato potenzialmente, riducendo così il tempo di caricamento complessivo.
Inoltre, le home page di Google ad esempio sembrano scaricare una serie di informazioni JSON per i widget, presumibilmente perché compila tutte le informazioni da varie fonti, le ridimensiona, la memorizza nella cache, quindi inserisce nella pagina, quindi le funzioni javascript costruire il layout (potenza di elaborazione lato client piuttosto che lato server).
Questa è un'osservazione interessante. Mi chiedo se è perché la maggior parte del tempo è dedicato alla configurazione di una connessione HTTP? Se il sovraccarico è abbastanza grande, probabilmente si desidera imballare il più possibile nel carico utile effettivo. –
Sì, domanda interessante (anche se forse più adatta su webmasters.SE?) –
Molti non saranno d'accordo, ma non fa molta differenza. Metto sempre il css e js che scrivo nella pagina html. È molto più comodo cambiarlo quando posso leggere facilmente le cose. –