2010-12-15 5 views
2

Ich habe Probleme mit ein paar Bildern auf einer Website, die ich entwickle. Einige Bilder werden korrekt zwischengespeichert und ihre Kopfzeilen scheinen korrekt zu sein (starke Etags, korrekte letzte Änderung). Aber andere Bilder haben schwache Etags (vorangestellt mit W /) und einen zuletzt modifizierten Header, der immer gleich der aktuellen Zeit ist. Weiß jemand, wie ich dieses Problem lösen kann? Ich habe mich ein wenig umgeschaut und ich finde nichts, was funktioniert. Das Bild, das nicht zwischengespeichert wird, ist ein Hintergrundbild und verursacht bei jedem Neuladen der Seite einen Hintergrundblitz, was lästig ist.Caching, schwache Etags und zuletzt geänderte Probleme

Headers:

Accept-Ranges:bytes 
Connection:Keep-Alive 
Content-Length:6879 
Content-Type:image/jpeg 
Date:Wed, 15 Dec 2010 07:41:44 GMT 
Etag:W/"4e863ea-1adf-49772cd85b340" 
Keep-Alive:timeout=15, max=98 
Last-Modified:Wed, 15 Dec 2010 07:41:44 GMT 
Server:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch 

Vielen Dank im Voraus für jede Hilfe. Ich bin kein Experte in dieser Art von Sachen, also entschuldige ich mich, wenn ich etwas Offensichtliches vermisse.

Antwort

1

Wenn Sie die sicherstellen wollen, dass Ihre Bilder zwischengespeichert werden Sie nicht auf die Validierung Header verlassen können (last-modified, etag). Um das Caching sicherzustellen, müssen Sie Expires oder Cache-control verwenden. Die Validierung wird nur verwendet, nachdem der Cache-Ablaufmechanismus besagt, dass der Inhalt veraltet ist. Wenn Sie keine Header Expires oder Cache-control verwenden, ist die Aktualität des Inhalts nicht definiert und hängt nur von der spezifischen Implementierung des Browsers ab, sodass er sich in Ihrem Fall unerwartet verhalten kann.

0

Ich bin mir nicht sicher, was sich geändert hat, aber es scheint, dass das Problem weg ist.

Headers:

Accept-Ranges:bytes 
Connection:Keep-Alive 
Content-Length:6879 
Content-Type:image/jpeg 
Date:Wed, 15 Dec 2010 16:46:14 GMT 
Etag:"4e863ea-1adf-49772cd85b340" 
Keep-Alive:timeout=15, max=99 
Last-Modified:Wed, 15 Dec 2010 13:20:37 GMT 
Server:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch 
+1

Es war wahrscheinlich aufgrund Ihrer Etag Wechsel von schwach zu stark. –

+0

@JustinY, ich habe jetzt dasselbe Problem. Eines meiner beiden Skripte lädt angeforderte statische Bilder mit starkem Etag und ein anderes mit schwachem. Ich kann die Situation nicht verstehen, da beide Skripte nahezu identisch sind. Könntest du mit einem Rat helfen? –

+0

Entschuldigung, das Problem ist gelöst. =) Es war Zeitzonenproblem. –

Verwandte Themen