Zunächst zum Filter, der das gesuchte Paket findet. Da wir wissen, dass nur ein Paket den gesuchten Status Code enthält reicht http.response.code == 304
, um nur das gesuchte Paket darzustellen. Wenn Sie vergessen haben die Zeitreferenz von vorhin wieder zu löschen, dann wird auch das Paket 929 noch angezeigt. Die Zeitreferenz löschen Sie wieder mit der rechten Maustaste und dem Menüpunkt Set/Unset Time Reference
. Evtl. müssen Sie den Filter erneut anwenden, damit das Paket dann auch verschwindet. Um das Paket später leichter wiederzufinden, können Sie es auch farblich markieren. Dazu das Paketmenü mit der rechten Maustaste öffnen und mit Mark/Unmark Packet
markieren. Damit man die Anfrage findent, den Filter löschen. Schauen Sie in den HTTP-Header, des Antwort-Pakets, um bei der Beantwortung der Frage weiter zu kommen.
Das Alter des Objekts findet man im Last-Modified Header der Antwort:
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Die Anfrage kann man wieder über den Link am Ende des HTTP-Headers in der Detailansicht finden [Request in frame: 2881]
.
Hier gibt der Browser an, dass er das Objekt schon lokal im Cache hat, inkl. eines Zeitstempels.
If-Modified-Since: Thu, 17 Oct 2019 07:18:26 GMT
Wie man sieht, die Zeitstempel sind gleich! Als das Objekt noch nicht im Cache war wurde der Last-Modified
-Zeitstempel aus der Antwort genommen und wird jetzt dem Webserver immer mitgeteilt, so dass dieser entscheiden kann, ob das Objekt neu gesendet werden muss oder nicht. Finden Sie jetzt diese erste Anfrage, bzw. die Antwort als der Browser das Objekt noch nicht hatte.
Hier kann man auf verschiedene Weisen vorgehen. So könnte man den Host
-Header mit einbeziehen, denn der Host hier ist www.example.com
. Mit dem Filterausdruck:
http.host == www.example.com
bleiben nur drei Pakete übrig. Jetzt könnte es natürlich sein, dass zwar immer der Host www.example.com angefragt wird, aber unterschiedliche Objekte angefragt werden. Genauer wäre daher:
http.host == www.example.com && http.request.uri == "/"
Es bleibt bei drei. Schauen wir uns die erste Anfrage an. Wenn hier kein If-Modified-Since
-Header vorhanden ist, dann war das Objekt hier noch nicht im Cache. Und tatsächlich, der Header fehlt. Und in der Antwort auf diesen Request findet sich auch folgender Header:
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Daher kommt der Wert, den wir in den darauf folgenden Anfragen im If-Modified-Since
-Header sehen.