PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kompression (wie im Forum)


Kinehs
2005-10-13, 12:07:46
Hallo zusammen!

In einem Thread über das Forum wurde letztens Kompression erwähnt. Es handle sich um eine Kompression der Verbindung Server -> Client (also irgendeine Textkomprimierung).
Ich meine hier nicht die Datenbanken usw., sondern die Datenübertragung.

Da ich bis jetzt nie was davon gehört habe wollte ich fragen:
(1) Wie heißt diese Kompression/Technik ?
(2) Wo sind die Schnittstellen? (Browser, Treiber?)
(3) Welches Programm kann mir die Kompressionsraten usw. anzeigen?

Captain America
2005-10-13, 15:03:18
1.) Der übergeordnete Begriff ist in der HTTP Spec "Content Encoding", siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5 . Nicht verwechseln mit Transfer Encoding.

2.) Server können es selbst mittels Content Coding (idr On-The-Fly) codieren, oder überlassen es der Software. vBuelltin z.B. kümmert sich selbst um die codierung, wie auch viele andere PHP Seiten, oder ASP, Perl, ...

Der Client hat eingebaute decompressionsmethoden, quasi ein eingebautes winzip (mal einfach ausgedrückt).

Client und Server handeln mögliche Compression über HTTP-Header aus. Im Request Header vom Client steht zb "Accept-Encoding: gzip,deflate", und im Respone Header vom Server steht dann zb "Content-Encoding: gzip". Logischer Weise sollte der Server nur ein Encoding ausgeben, das der Client vorher als bekannt angegeben hat, im "Accept-Encoding".

3.) ich nutze im firefox das plug in Web Developer Extension von http://chrispederick.com/work/webdeveloper/ . Installier es, rufe eine Seite auf, klick auf Information -> View Respone Headers.


Response Headers - http://www.forum-3dcenter.org/vbulletin/showthread.php?t=253773

Date: Thu, 13 Oct 2005 13:02:53 GMT
Server: Apache/2.0.54 (Unix) PHP/5.0.4
X-Powered-By: PHP/5.0.4
Cache-Control: private
Content-Encoding: gzip
Content-Length: 13041
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1

200 OK

Kinehs
2005-10-14, 12:17:37
Danke!

Aber so gut wie jeder Browser dürfte doch schon seit Jahren die Kompression(en) beherrschen, oder?

/dev/NULL
2005-10-15, 01:27:43
Ja.. jeder neuere Browser unterstützt Kompression, abhängig ist es eigentlich nur vom Server/der Programmierung. der einzige Grund nicht zu komprimieren ist, dass es eine höhere Serverlast erzeugt.

Wenn Du also viele User hast geht die Last hoch.

Wenn man Kompression in php Seiten nutzen will braucht man IMHO nur durch eine Zeile aktivieren.

winter
2005-10-15, 12:29:04
ob_start("ob_gzhandler");

Um die zeile mal genannt zu haben. Muss vor der ersten Ausgabe in einem PHP Script stehen.