"Fossies" - the Fresh Open Source Software Archive

Member "mod_gzip-1.3.26.1a/docs/manual/deutsch/encoding.htm" (30 Sep 2002, 8113 Bytes) of package /linux/www/apache_httpd_modules/old/mod_gzip-1.3.26.1a.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


    1 <?xml version="1.0" encoding="iso-8859-1" ?>
    2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    3 <html xmlns="http://www.w3.org/1999/xhtml">
    4 
    5 <head>
    6  <title>Komprimierung von HTTP-Inhalten durch Content-Encoding</title>
    7  <meta name="author"      content="Michael Schr&ouml;pl" />
    8  <meta name="description" content="Eine Zusammenfassung des Verfahrens zur Auslieferung komprimierter Seiteninhalte in HTTP" />
    9  <meta name="keywords"    content="Apache, HTTP, Kodierung, gzip, Komprimierung" />
   10  <style type="text/css">
   11 body{font-family:sans-serif;margin:0px 30px 0px 30px;}
   12 h1{font-size:22px;margin-top:20px;}
   13 h2{font-size:18px;margin-top:14px;}
   14 small{font-size:80%;}
   15 td{vertical-align:top;}
   16 tt{font-weight:bold;}
   17 code,tt{font-family:"Courier New",monospace;}
   18 h1,h2{margin-bottom:1px;}
   19 p,td{margin-top:3px;margin-bottom:3px;}
   20 p,ul,ol,li{font-size:17px;line-height:22px;}
   21 ul,ol,li{margin-top:0px;margin-bottom:0px;}
   22 img{border-width:0;}
   23 
   24 #nav{position:absolute;top:30px;left:0px;font-size:14px;width:170px;font-weight:bold;margin:2px 2px 2px 30px;}
   25 #nav[id]{position:fixed;}
   26 #nav img{margin:5px;}
   27 #nav p, #nav a:hover, #nav a{display:block;padding:3px;margin:2px;width:150px;font-size:15px;line-height:18px;}
   28 #content{position:absolute;left:220px;right:30px;}
   29 #mail{text-align:right;}
   30 #icon{width:190px;float:left;}
   31 #mail,#icon{margin-top:30px;}
   32 
   33 @media screen {
   34 body{color:#000;background-color:#f8ebd9;}
   35 h1{color:#666;}
   36 h2{color:#840;}
   37 code{color:#333;}
   38 em{color:#900;}
   39 tt{color:#909;}
   40 h1,h2,code,em,tt{background-color:inherit;}
   41 .new13192a{color:#inherit;background-color:#ffd;}
   42 .new13261a{color:#inherit;background-color:#eff;}
   43 .bugfix{color:#fff;background-color:#f00;font-weight:bold;padding:0px 4px;}
   44 #nav a{color:#530;background-color:transparent;}
   45 #nav a{text-decoration:none;}
   46 #nav p, #nav a:hover{color:#000;background-color:#fff;}
   47 #nav p {border:1px #660 solid;}
   48 #nav a {border:1px #666 dotted;}
   49 }
   50 
   51 @media print {
   52 #icon,#nav{display:none;}
   53 #content{position:absolute;left:0px;right:0px;}
   54 }
   55  </style>
   56 </head>
   57 
   58 <body>
   59 
   60 <div id="nav">
   61 
   62 <img src="mod_gzip_logo.gif" height="47" width="102" alt="mod_gzip-Logo" />
   63 
   64 
   65 <a title="mod_gzip - was ist das &uuml;berhaupt?" href="index.htm">mod_gzip</a>
   66 
   67 
   68 
   69 <p>Content-Encoding</p>
   70 
   71 
   72 
   73 <a title="Welche Browser k&ouml;nnen mit 'Content-Encoding: gzip' umgehen?" href="browser.htm">Browser</a>
   74 
   75 
   76 
   77 <a title="Wie gehen Firewall mit 'Content-Encoding: gzip' um?" href="firewalls.htm">Firewalls</a>
   78 
   79 
   80 
   81 <a title="Eine Beispiel-Konfiguration f&uuml;r mod_gzip" href="config.htm">Konfiguration</a>
   82 
   83 
   84 
   85 <a title="Beschreibung s&auml;mtlicher mod_gzip-Status-Codes" href="status.htm">Status-Codes</a>
   86 
   87 
   88 
   89 <a title="M&ouml;gliche Erweiterungen in k&uuml;nftigen Versionen von mod_gzip" href="enhancements.htm">Erweiterungen</a>
   90 
   91 
   92 
   93 <a title="Zwischenspeicherung mod_gzip-komprimierter Daten durch Proxy-Server" href="cache.htm">Caching</a>
   94 
   95 
   96 
   97 <a title="Versions-Historie und &Auml;nderungsprotokoll von mod_gzip" href="versions.htm">Versionen</a>
   98 
   99 
  100 
  101 <a title="Andere Quellen zu mod_gzip" href="links.htm">Links</a>
  102 
  103 
  104 </div>
  105 
  106 <div id="content">
  107 
  108 <h1>Komprimierung von HTTP-Inhalten durch Content-Encoding</h1>
  109 
  110 <h2><a id="communication"></a>Kommunikation in HTTP</h2>
  111 <p>F&uuml;r die &Uuml;bertragung von Web-Inhalten zwischen Server und Client wird das <strong>Hypertext Transfer Protocol</strong> <small>(<a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html"><img class="linkicon" height="15" width="16" alt="Pfeil" title="extern" src="extern.gif" />HTTP</a>)</small> verwendet.</p>
  112 <p>Die Kommunikation l&auml;uft dabei folgenderma&szlig;en ab:</p>
  113 <ol>
  114  <li>Der Client sendet eine Anforderung an den Server. Diese Anforderung besteht haupts&auml;chlich aus <strong>HTTP-Headern</strong>, die beschreiben, welche Daten der Client empfangen m&ouml;chte.<br />
  115      In einem gewissen Ma&szlig;e hat der Client die M&ouml;glichkeit, den Inhalt der Daten <em>direkt zu beeinflussen</em> <small>(etwa durch den URL der angeforderten Seite)</small>; andere Teile seiner Anforderung liefern dem Server zus&auml;tzliche Informationen dar&uuml;ber, welche Art von Daten der Client <em>bevorzugt empfangen</em> m&ouml;chte, falls der Server mehrere Variationen der Daten anzubieten hat.</li>
  116  <li>Der Server wertet alle ihm vorliegenden Informationen aus, um zu entscheiden, welche Daten in welcher Darstellungsform angefordert wurden, und versucht anschlie&szlig;end, diese Daten in einer der Anforderung des Clients m&ouml;glichst gut entsprechenden Form auszuliefern.<br />
  117      Auch dieses Datenpaket enth&auml;lt wiederum HTTP-Header, vor allem aber <strong>Daten</strong> - welche allerdings ohne die Ber&uuml;cksichtigung der HTTP-Header nur teilweise interpretierbar sein k&ouml;nnen.</li>
  118 </ol>
  119 <p>Der zweite Aspekt der Bestimmung des erw&uuml;nschten Inhalts wird in allgemeiner Form als <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec12.html#sec12"><img class="linkicon" height="15" width="16" alt="Pfeil" title="extern" src="extern.gif" />Content Negotiation</a> bezeichnet. Auch die Auslieferung komprimierter Seiteninhalte in der hier beschriebenen Form basiert auf diesem allgemeinen Prinzip.</p>
  120 
  121 <h2><a id="encoding"></a>Kodierungen in HTTP</h2>
  122 <p>HTTP 1.1 definiert im <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5"><img class="linkicon" height="15" width="16" alt="Pfeil" title="extern" src="extern.gif" />Kapitel 3.5.</a> sogenannte <strong>Inhalts-Kodierungen</strong>, die jeder diesem Standard entsprechende Browser unterst&uuml;tzen sollte.</p>
  123 <p>F&uuml;r die Kommunikation zwischen Server und Client haben diese Kodierungen folgende Bedeutung:</p>
  124 <ol>
  125  <li>Der Client <em>darf</em> im HTTP-Header <code>Accept-Encoding:</code> eine Liste der von ihm akzeptierten Inhalts-Kodierungen angeben. Die besondere Kodierung <code>identity</code> <small>(welche eine Codierung beschreibt, die den Inhalt nicht ver&auml;ndert)</small> wird dabei implizit als Standardwert angenommen.</li>
  126  <li>Der Server <em>sollte</em> den Inhalt des angeforderten Dokuments in einer Kodierung ausliefern, welche dieser Client akzeptiert.<br />
  127      Ist dies dem Server nicht m&ouml;glich, dann <em>sollte</em> er die Anforderung mit dem <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7"><img class="linkicon" height="15" width="16" alt="Pfeil" title="extern" src="extern.gif" />Status-Code <code>406 Not Acceptable</code></a> zur&uuml;ckweisen; er <em>darf</em> aber auch Inhalte ausliefern, die der Client laut seiner Anforderung nicht akzeptieren wird <small>(und deren Verarbeitung den Client vor unl&ouml;sbare Probleme stellen k&ouml;nnte)</small>.<br />
  128      Der Apache-Webserver verwendet in dieser Hinsicht eine defensive Strategie: Falls er eine Seite nicht gem&auml;&szlig; der Anforderungen des Clients ausliefern kann, aber andere Varianten zur Auswahl hat, dann generiert er dynamisch ein HTML-Dokument mit einer kurzen Beschreibung der Sachlage und Verweisen auf alle in Frage kommenden Dokumente. <small>(Dies ist auch der Fall, wenn dieses Dokument hier von einem Browser angefordert wird, der gem&auml;&szlig; seiner aktuellen Konfiguration keine der von mir unterst&uuml;tzten Sprachen <code>de</code> und <code>en</code> akzeptiert; ich habe bewu&szlig;t keinen Default-Wert gesetzt, um fremdsprachigen Lesern dieser Seiten diese Problematik bewu&szlig;t zu machen.)</small></li>
  129 </ol>
  130 <p>Liefert ein Server eine derartig kodierte Datei an einen Client aus, der das nicht versteht, dann wird der Client sie m&ouml;glicherweise nicht korrekt verarbeiten k&ouml;nnen.</p>
  131 
  132 <div id="icon">
  133  <a href="http://validator.w3.org/check/referer"><img alt="" title="valid XHTML 1.1" height="31" width="88" src="valid-xhtml11.png" /></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img alt="" title="valid CSS" height="31" width="88" src="valid-css.png" /></a>
  134 </div>
  135 
  136 
  137 <p id="mail">(<a href="mailto:michael.schroepl&#x40;gmx.de?subject=mod_gzip">Michael Schr&ouml;pl</a>, 2002-07-12)</p>
  138 
  139 </div>
  140 
  141 </body>
  142 </html>