Mycket flitig postare
|
|
Reg.datum: Oct 2004
Inlägg: 898
|
|
Mycket flitig postare
Reg.datum: Oct 2004
Inlägg: 898
|
För det första så finns det ett talesätt: "Premature optimization is the root of all evil"
Det är så gott som alltid slöseri med tid och resurser att optimera något för att man "tror" att det behöver optimeras. Dock har du ju läst på en hel del och jag kan nog bidraga med några tankar kring antalet HTTP requests.
Många HTTP requests är främst ett problem om man har en lina med långa latenser (typ GPRS, 3G osv). Och då främst i kombination med HTTP/1.0 och tidigare då endast en request görs per TCP connection eftersom det tar ganska lång tid att sätta upp en TCP förbindelse. Nu använder ju alla större browsar HTTP/1.1 som återanvänder connections vilket minskar fördröjningen vid flera requests till sama host.
Tester jag utförde för ett par år sedan (och jag tvivlar på att senaste IE och Firefox i någon större utsträckning förändrat detta) visade att IE använder sig av max fyra (4) samtidigt öppna connections. Så när du laddar en sida (låt oss anta att hälften av javascript och hälften av stilmallarna behövs) så behövs 24 requests (1 (sidan)+7 js+16 css) + alla eventuella bilder. Helt utan bilder måste alltså (med en jämn fördelning) 6 requests köas i varje öppen connection (givet att personen inte har flera fönster i browsern öppna som surfar på andra hostar).
Dock kommer ju inte allt data skickas eftersom servern normalt kommer svara med en 304 - Not Modified, men min erfarenhet är att browsern iaf frågar servern om varje fil även om den är cachad lokalt för att se att den inte förändrats. Och innan den fått sitt 304 svar kan den inte fortsätta.
Så ja, det finns ett potentiellt problem med så många filer - men bara om väldigt många av dem används på samma sida. Dock i linje med det jag skrev först skall du inte optimera detta om du inte med tester kan visa att detta är ett problem.
|