Deutsche Zope User Group
Gast 1 Benutzer online
DZUG-News

Seiten komprimiert �bertragen

Dies ist ein Mini-HowTo das beschreibt, wie man bei Zope 2.6.x die komprimierte Ausgabe (gzip compression) aktiviert.

Wieso Seiten komprimiert ausgeben?

Vorteile

  • Man spart Bandbreite und hat damit bei langsamen Anbindungen insgesamt mehr Bandbreite zur Verf�gung

  • Wenn man Transfervolumen bezogen bezahlen muss oder droht, an sein maximales Transfervolumen zu sto�en, kann man die �bertragungsmenge f�r Textseiten auf weit unter 50% senken

  • Gro�e HTML-Seiten erreichen besonders Benutzer mit einer langsamen Anbindung signifikant schneller

Nachteile

  • Die Kompression ben�tigt Zeit. Benutzer mit einer sehr schnellen Anbindung erhalten Seiten minimal langsamer

  • Die Ausgabe einer Seite erfolgt erst dann, wenn sie komplett gerendert und dann komprimiert ist. Bei aufwendigen Seiten sieht der Benutzer also nicht, dass die Seite sich aufbaut. [stimmt das wirklich?]

  • Die Kompression ist verbraucht weitere CPU-Resourcen.

Welche Zope-Versionen unterst�tzen Kompression?

Meines Wissens ist die Funktion ab Zope 2.6.0 vorhanden. Bei �lteren Versionen muss man die Kompression durch den Apache machen lassen. Auf Zope.org gibt es dazu ein HowTo.

Wie aktiviert man die Kompression?

Global aktivieren

ACHTUNG Diese �nderung ist nicht vorgesehen und kann dazu f�hren, dass der eingebaute FTP-Server und andere Server nicht mehr funktioneren, da alle Daten komprimiert �bertragen werden.

  • ZOPE/lib/python/ZPublisher/HTTPResponse.py mit einem Editor �ffnen

  • use_HTTP_content_compression = 0 in use_HTTP_content_compression = 1 am Anfang der Klasse HTTPResponse �ndern.

  • Zope neustarten

Durch diese globale Aktivierung scheint es aber Probleme mit dem FTP-Server zu geben.

F�r einzelne Seiten aktivieren

  • M�glichst am Anfang die Methode RESPONSE.enableHTTPCompression(REQUEST) ausf�hren, z.B. in standard_html_header oder mit ZPT (gleichzeitig wird charset f�r Sonderlaute gesetzt):

    
    

Geschrieben von Tiran . Letzte �nderung 29.06.2003 16:28.