Jayson: "HTML Kompression ?" und "HTML Code zu PHP ?"

Vorerst ... Mein ganzes wissen habe ich aus SelfHTML, alles Spitze aber bombadiert mich bitte nicht mit absoluten Fachbegriffen, hab also nur Grundkenntniss von hier und kein Profiwissen.

Ich habe eine HTML Datei mit den Jahrescharts von 1960 an, die aufgrund der Textmasse leider 730 KB umfasst und für 56K oder ISDN Benutzer ist das nicht gerade optimal, zum Download anbieten möchte ich die aber auch nicht unbedingt, meine Frage ist ob man die irgendwie komprimieren kann, damit meine ich aber jetzt nicht zu einer Zip-Datei sondern das wenn jemand diese rubrik anwählt er praktisch (wie in so einem Virtual-Chat) die Datei (beispiel!) "songtexte.jar"(ich glaube das war die endung) automatisch runterläd die sich entfalten kann und diese rubrik ganz normal angezeigt werden kann ?!? Ich hoffe das ist verständlich ich wüsste sonst auch nicht wie ich das erklären sollte ...

2. Frage: Wenn ich einen Countercode von meinem provider habe, derist zum einbetten in die HTML, kann ich den auch in einer PHP Seite nutzen ? Wenn ja, wie ??? Oder müsste ich den umwandeln, oder so etwas ???

Vielen Dankim voraus !!!

Cya Jay

  1. Hi Jayson,

    meine Frage ist ob man die irgendwie komprimieren kann,

    ja, kann man.

    Lade mal die Hauptdatei dieses Forums mit einem Browser, der Dir die übertragene Datenmenge anzeigt, speichere dann den Inhalt des Browserfensters auf Deine Festplatte, vergleiche - und staune.

    HTTP unterstützt das Konzept des 'Content Encoding': Der Inhalt einer ausgelieferten HTTP-Ressource kann vom Server codiert (in Deinem Falle: komprimiert) und vom Browser decodiert werden, sofern beide ein gemeinsames Codierungsverfahren unterstützen.
    Das Codierungsverfahren 'gzip' wird von allen modernen Browsern (Netscape seit Version 4.06) mehr oder weniger gut unterstützt; Mängel bei der Umsetzung kannst Du unter
        http://www.schroepl.net/projekte/mod_gzip/browser.htm
    nachlesen.

    Erforderlich hierfür ist, daß Dein Webserver eine entsprechende Codierung vornehmen kann. Sinnvollerweise sollte er hierbei aber auch Rücksicht darauf nehmen, was der entsprechende Browser versteht. Dieser liefert nämlich eine Liste der ihm bekannten Codierungsverfahren als HTTP-Header seiner Anforderung mit; wenn der Server damit die Erlaubnis zur codierten Auslieferung der angeforderten Seite erkennt, darf er diese bedenkenlos codieren, wenn nicht, könnte beim Browser ein wirrer Zeichensalat ankommen.

    Wie man ein solches Komprimierungsverfahren in die Software des Webservers integriert, zeigt Dir
       http://www.schroepl.net/projekte/mod_gzip/

    Wie man auch ohne (umfangreiche) Einflußnahme auf die Webserver-Konfiguration eine entsprechende Erweiterung einbauen kann, findest Du unter
       http://www.schroepl.net/projekte/gzip_cnc/
    beschrieben.

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
  2. Moin!

    Ich habe eine HTML Datei mit den Jahrescharts von 1960 an, die aufgrund der Textmasse leider 730 KB umfasst und für 56K oder ISDN Benutzer ist das nicht gerade optimal, zum Download anbieten möchte ich die aber auch nicht unbedingt, meine Frage ist ob man die irgendwie komprimieren kann, damit meine ich aber jetzt nicht zu einer Zip-Datei sondern das wenn jemand diese rubrik anwählt er praktisch (wie in so einem Virtual-Chat) die Datei (beispiel!) "songtexte.jar"(ich glaube das war die endung) automatisch runterläd die sich entfalten kann und diese rubrik ganz normal angezeigt werden kann ?!? Ich hoffe das ist verständlich ich wüsste sonst auch nicht wie ich das erklären sollte ...

    Du kannst Seiten gzip-komprimiert übertragen. Im Archiv gibt es dazu reichhaltige Informationen. Man kann es dynamisch bei jeder Seitenanfrage komprimieren, oder (wenn das seitens des Servers nicht geht) auch statisch vorkomprimieren und dann den Server je nach Browserinfo entscheiden lassen, welche Version geladen wird. Auf dem Teamone-Server wird das z.B. angewandt - ansonsten wäre die Forumsstartseite mehrere Hundert Kilobyte groß. Kompressionserfolge zwischen 70 und 90% sind möglich, wenn die Daten einigermaßen "identisch" sind.

    1. Frage: Wenn ich einen Countercode von meinem provider habe, derist zum einbetten in die HTML, kann ich den auch in einer PHP Seite nutzen ? Wenn ja, wie ??? Oder müsste ich den umwandeln, oder so etwas ???

    Wenn du das Teil in HTML einbauen kannst, dann baue es in einen HTML-Teil von PHP genauso ein.

    Warum testest du das nicht erstmal sofort selbst? Versuch macht kluch!

    - Sven Rautenberg

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  3. aber bombadiert mich bitte nicht mit absoluten Fachbegriffen, hab also nur Grundkenntniss von hier und kein Profiwissen.

    Ich habe eine HTML Datei mit den Jahrescharts von 1960 an, die aufgrund der Textmasse leider 730 KB umfasst und für 56K oder ISDN Benutzer ist das nicht gerade optimal, zum Download anbieten möchte ich die aber auch nicht unbedingt, meine Frage ist ob man die irgendwie komprimieren kann,

    Nachdem man Dich nun doch mit Fachbegriffen und Serverinterna bombardiert hat, hier die einfache Lösung für den Apache Webserver. Selbes Funktionsprinzip, aber zu Fuß durchgeführt:

    Du besorgst Dir für Deinen Rechner ein Programm namens gzip (_nicht_ WinZip, das ist was anderes). Eine passende Version findest Du sicher unter http://www.gzip.org/, etwas weiter unten im Abschnitt "Executables".

    Mit gzip lässt Du Deine HTML-Seite zusammenschrumpfen, in etwa mit folgendem Aufruf:

    gzip -9 meine-seite.html

    Das "-9" sorgt für die bestmögliche Kompression.

    gzip ersetzt meine-seite.html durch eine Datei meine-seite.html.gz, welche Du auf Deinen Webserver kopierst. Daneben legst Du die Originaldatei, und zwar unter dem Namen meine-seite.html.html (ja, doppelte Endung).

    Lege im selben Verzeichnis weiterhin eine Datei namens .htaccess ab (den Punkt am Anfang nicht vergessen). Der Inhalt sieht folgendermaßen aus:

    options +multiviews

    Bekommst Du anschließend beim Aufruf irgendeiner Datei aus diesem Verzeichnis keine Fehlermeldung, wäre alles erledigt.

    Zwischen Browser und Server passiert jetzt folgendes:
    Beim Aufruf der Adresse /meine-seite.html stellt der Server fest, daß meine-seite.html nicht existiert. Statt sofort einen Fehler auszuspucken, schaut er dank des "multiviews" erstmal im Verzeichnis nach, ob dort Dateien existieren, die mit meine-seite.html _beginnen_. Er findet zwei: meine-seite.html.html und meine-seite.html.gz. Anhand der Endungen erkennt er, daß es sich einmal um eine normale HTML-Datei (.html.html) und einmal um eine gzip-komprimierte HTML-Datei (.html.gz) handelt. Da der Browser mitgeteilt hat, ob er gzip versteht oder nicht, wählt der Server die passende (kleinste) Datei aus und schickt sie als meine-seite.html. Funktioniert vollautomatisch und mit so ziemlich jedem halbwegs neuen Browser.
    Beachte aber bitte, daß Du _nicht_ auf meine-seite.html.html oder meine-seite.html.gz verlinkst, sondern auf meine-seite.html, andernfalls funktioniert die Automatik nicht!

    Bekommst Du allerdings eine Fehlermeldung à la "internal server error", ist diese Funktion für Dich nicht freigeschaltet. Du kannst entweder Deinen Hoster um die Freischaltung bitten oder aber Du verlinkst die beiden Dateien direkt.
    Die gzip-Komprimierung ist ein universelles Format und daher die eindeutig beste Lösung (auch Winzip & Co. können standardmäßig damit umgehen). Als Alternative wäre noch .zip denkbar, aber vergesse bitte alles andere, solange Du nicht betriebssystemspezifische Sachen anbietest.

    Gruß,
      soenk.e

  4. Vielen dank an Alle alles perfekt erklärt, einen besonderen Dank an Sönke, du bist echt Spitze !!!

    Jedenfalls hat alles wunderbar funktioniert und bin sehr zufrieden, danke nochmal an alle !!!

    Cya Jay