HTML optimalisaties 26 maart 2007
Posted by pcoucke in Usability/ accessabiltiy, Web development, web & business, xhtml/ css.trackback
Iets waar veel webdevelopers vergeten rekening mee te houden is de snelheid van de site. Mits een paar kleine aanpassingen kan een site vaak al heel wat sneller gemaakt worden.
Javascript en CSS
Op rakaz.nl staat een interessant artikel over hoe je je pagina’s al wat sneller kunt laten laden door alle CSS en javascript in 1 bestand te plaatsen. CSS en javascript worden namelijk na elkaar (ipv parallel) gedownload, wat dus voor vertraging zorgt bij het opvragen van een pagina. Het is best om een originele versie van de javascript bij te houden (dus met commentaar en spatiëring). Bij het online plaatsen van de site kun je deze files dan door een compression tool sturen zodat deze tot 1 bestand worden herleid.
Voor javascript bestaat er een on-line php javascript compressie pagina die je kan gebruiken. Er zijn off-line versies beschikbaar (ik gebruik JavascriptUtil in DWR) en alternatieven voor andere talen. Meestal komt het neer op het verwijderen van whitespace en comments, maar er zijn er ook die verder gaan en variabelen hernoemen of zelfs met javascript eval() calls methods hernoemen (zoals de vermelde on-line php pagina).
Voor CSS compressie schijnt Icey CSS goed te zijn (volgens de mannen van Bloggingpro), maar dat heb ik nog niet zelf uitgeprobeerd.
Server connecties
Een andere manier is verschillende hostnames voor je images te gebruiken, dus bijvoorbeeld http://static1.example.com/thumb.jpg en http://static2.example.com/thumb2.jpg. Afhankelijk van de browser, is er een limiet op het aantal items dat tegelijkertijd van een server wordt gehaald. Indien je server het aankan, kan het dus geen kwaad om een aantal extra virtuele domeinen te gebruiken en de image urls met een stukje code te genereren.
die ‘compression tool’; is dat dan een stukje code dat css’en (of js’en) aggregeert en comprimeert (verwijderen van whitespace/ comments)?
Javascript en CSS compressie heb ik wat beter uitgewerkt in de post. Voor CSS is het inderdaad zo dat sommige tools alle definities samenvormen tot 1 definitie en properties verwijderen die toch overschreven worden.