Schlanke, schnelle Websites: So beschleunigen Sie den Aufbau von Webseiten

Mit einem langsamen Webseiten-Aufbau verärgern Sie Ihre Besucher

Von: Ralph Steyer
Stand: 31. August 2007
3.666665
(3)
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Ralph Steyer

bild118051

Ralph Steyer ist Diplom-Mathematiker und seit 1996 selbstständig im Bereich Schulung, Programmierung und Beratung. Seine Spezialgebiete sind die Internet-Programmierung und objektorientierte Software-Entwicklung. An der Hochschule RheinMain hat er einen Lehrauftrag im Fachbereich Multimediadesign. Ralph Steyer schreibt außerdem regelmäßig für verschiedene Computermagazine und ist Autor zahlreicher Fachbücher zu Themen von JavaScript, Web-Frameworks wie jQuery über Java bis zum Intranet-Management. Auf der Autorenseite von Amazon finden Sie zu den Büchern genauere Informationen. Sein Blog und seine Homepage sind auch gute Quellen für weitere Informationen.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

HTTP-Requests minimieren

Durch einen langsamen Webseitenaufbau verärgern Sie völlig unnötigerweise die Besucher Ihrer Website. Auch, wer mit multimedialen Effekten klotzt, sollte versuchen, seine Webseiten möglichst schnell zum Anwender zu befördern - schließlich gibt es auch im Zeitalter von DSL noch immer viele Besuchern mit langsamen Verbindungen oder wenig Geduld. Wir geben Ihnen in diesem Beitrag ein paar Tipps, wie Sie Webseiten möglichst schlank und performant gestalten, ohne all zu viele optische und inhaltliche Kompromisse einzugehen.

Grundsätzlich sollte man als Anbieter im Web beachten, dass das Verschlanken einer Webseite ein sehr diffiziles Geschäft sein kann: Die Beschleunigung der Anzeige einer Webseite läuft sehr oft anderen Vorgaben entgegen, etwa einer reichhaltigen optischen Gestaltung oder auch der Konformität zu den Regeln des W3C.

Man kann das gut mit der Ausstattung eines Fahrrads vergleichen: Wenn ein Fahrrad den Straßenverkehrsregeln genügen soll, muss es mit Licht, Klingel und Schutzblechen ausgestattet sein. Und um die Ausstattung zu komplettieren, kommen ein Seitenständer, ein gut gepolsterter Sattel, Spiegel oder auch ein Gepäckträger dran. Die Tour de France werden Sie mit so einem Fahrrad aber nicht gewinnen können. Ein Rennrad wiederum wird so leicht wie möglich gemacht und kann hinterher zum Brötchenholen kaum noch verwendet werden. Es ist nicht sonderlich bequem und entspricht auch vielen Straßenverkehrsregeln nicht mehr.

Minimieren der Anzahl der HTTP-Requests

Eine der wichtigsten und effektivsten Regeln für eine performante Webseite: Minmieren Sie die Anzahl von HTTP-Requests beim Laden.

Das World Wide Web ist ein typisches Client-Server-System. Der charakteristische Vorgang läuft so ab, dass der Client (der Webbrowser) vom Webserver eine Webseite mit all ihren enthaltenen Komponenten (Bilder, Skripte, Animationen, Style Sheets, etc.) anfordert. Der Webserver schickt dem Client dann diese vollständige Seite, die in eine gewisse Anzahl von Datenpaketen zerlegt ist.

Zur Kommunikation zwischen Client und Server dient im World Wide Web das Protokoll HTTP. (Eine genauere Einführung liefert der Beitrag "Das Hypertext Transfer Protokoll HTTP".) Dieses wird - aufsetzend auf TCP/IP - bei einer Antwort des Webservers (dem so genannten HTTP-Response) u. a. die Nutzlast transportieren (also den Inhalt der Webseite samt Grafiken und multimedialen Elementen etc.). Neben dieser Nutzlast beinhaltet so eine Antwort des Webservers immer auch so genannte Headerfelder. Dies sind Metainformationen über die geschickten Informationen, die im Vergleich zur Nutzlast in der Regel klein sind.

Etwas anderes ist es mit der Anfrage des Clients (dem so genannten HTTP-Request). Dieser besteht in der Regel ausschließlich aus Headerfeldern (in der Regel wird vom Client keine Nutzlast zum Server transportiert - Ausnahme ist ein Upload von Dateien).

Insbesondere muss aber jede einzelne Komponente (Datei) in einer Webseite über einen einzelnen HTTP-Request angefordert werden, den der Webserver sequenziell abarbeitet. Der Webbrowser wartet für jeden einzelnen Request dann auf den zugehörigen Response.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein

Kommentar-Darstellungsoptionen

Wählen Sie hier Ihre bevorzugte Anzeigeart für Kommentare aus und klicken Sie auf „Einstellungen speichern“ um die Änderungen zu übernehmen.

Dieser "Artikel" sollte überarbeitet werden. Momentan ist es nur eine Aufzählung von Ursachen. Wie man dann etwas behebt, wird im Großteil der Punkte nicht aufgeführt.

Ergänzend möchte ich noch ein paar Tipps zu Bildern geben:
- Wird keine Animation benötigt, verwendet man statt GIF besser PNG, das in fast allen Fällen besser komprimiert (Ausnahme sind da eigentlich nur ganz kleine Bilder um 100 Bytes).
- Die Kompression von PNG-Bildern lässt sich mit Programmen wie pngout optimieren. pngslim umfasst gleich mehrere derartige Programme für bestmögliche Kompression. Diskussion dazu hier:
- BMP hat im Web nichts verloren.
- Für Fotos nimmt man am ehesten JPEG, für manche Computergrafiken (etwa Knöpfe, Symbole) und auch Comics bietet PNG evtl. die bessere Kompression, insbesondere bei wenigen Farben, obwohl es verlustfrei ist (solange man mit der Qualität des JPEG-Bildes nicht zu stark runtergeht).

Außerdem: Stilanweisungsdateien für verschiedene Zielmedien (etwa screen, print) werden üblicherweise alle sofort geladen und nicht erst bei Bedarf. Daher lassen sich dort auch noch HTTP-Anfragen einsparen, wenn man diese Dateien nicht mit dem (X)HTML-Attribut media="…" referenziert, sondern nur eine einzige Datei einbindet, die die entsprechenden Stilangaben in @media-Blöcken enthält. Auch lassen sich so Stilangaben, die mehrere Medien betreffen (etwa @media screen, projection, handheld) meiner Meinung nach einfacher zusammenfassen.

Heinz