recently: Warum finde ich content-length nicht im Antwort-Header

Hallo liebe HTML-Freunde,

ich forsche gerade mit meinem firefox-browser und dem Addon "Live http headers" .

Zunächst lösche ich den Browser-Cache und mache eine Get-Anfrage an den Webserver. Hier die Antwort:

HTTP/1.1 200 OK
Date: Thu, 05 Dec 2013 09:07:43 GMT
Server: Apache/2.2.19 (Win32) PHP/5.2.17
Last-Modified: Fri, 29 Nov 2013 07:01:14 GMT
Etag: "1a00000000da61-3d99-4ec4b65674854"
Accept-Ranges: bytes
Content-Length: 15769
Access-Control-Allow-Origin: *
Content-Type: text/html
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
Age: 0

Die Anwort enthält die Länge der empfangenen Datei in Content-Length. Nun mache ich die Anfrage zum 2. mal:

HTTP/1.1 304 Not Modified
Date: Thu, 05 Dec 2013 09:10:58 GMT
Server: Apache/2.2.19 (Win32) PHP/5.2.17
Last-Modified: Fri, 29 Nov 2013 07:01:14 GMT
Etag: "1a00000000da61-3d99-4ec4b65674854"
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Content-Type: text/html
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
Age: 0

Alles gleich, ausser das die Angabe Content-Length fehlt. Im Firebug kann ich sehen, dass es wohl auch noch einen Antwort-Header aus dem Cache gibt, in dem Content-Length vorhanden ist.

Meine Fragen:

Warum sendet der Webserver die content-length nur einmal ?
Woran erkennt der Webserver, dass er die content-length nicht mehr senden braucht ?

Vielen Dank fuer Tipps

Viele Grüße
recently

  1. Tach!

    Die Anwort enthält die Länge der empfangenen Datei in Content-Length. Nun mache ich die Anfrage zum 2. mal:
    HTTP/1.1 304 Not Modified
    Alles gleich, ausser das die Angabe Content-Length fehlt.

    Nun, bei 304 gibts keinen Content, und der hat auch keine Länge. Zudem ist das nicht die Länge der "Datei" sondern von dem, was der Server im Message-Body schickt. Wenn das komprimiert ist, dann ist das ungleich zur "Datei"länge.

    dedlfix.

    1. Danke für die schnelle Antwort, dedlfix.

      Ich nehme an, das die "304" der Hinweis an den Browser ist, im Cache nachzusehen.

      Und woher weiß der Webserver, dass er die Seite bereits an den Browser verschickt hat und bei einer erneuten Anfrage nun eine 304 senden kann ?

      1. Ich nehme an, das die "304" der Hinweis an den Browser ist, im Cache nachzusehen.

        Und woher weiß der Webserver, dass er die Seite bereits an den Browser verschickt hat und bei einer erneuten Anfrage nun eine 304 senden kann ?

        Du solltest dir mal den Anfrage-Header angucken, dann fix nachschauen, was was ist.

        If-Modified-Since 14.25 Erlaubt dem Server, den Statuscode 304 Not Modified zu senden, falls sich seit dem angegebenen Zeitpunkt nichts verändert hat. If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT

        MfG
        bubble

        --
        If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
        1. Vielen Dank, jetzt hab ich es verstanden !