我希望执行ETag
根据cache-control
,我想知道多长时间ETags
存储在浏览器中,如果他们可以保持更长的时间比当前会话。浏览器如何存储Etags?
我有服务器设置和发送ETags
为正确的答复,我发送请求从jQuery.ajax
浏览器。
该系统正常工作,与适当的304响应响应如果Not-Modified
报头(以前ETag
)匹配服务器上的生成ETag
。这一切都适用于当前会话,但是当我关闭浏览器并重新打开它时,Not-Modified
标头不再由jQuery发送。
我想知道是否有任何方法,我可以用它来触发默认的浏览器的行为,并发送了响应Not-Modified
头(如适用),没有手动设置在Ajax请求的头或存储在ETag
localStorage
/indexedDb
。
如果会话关闭后不能正常发送的'etag',也许你不发送expires'头右侧'。 –
您是否清除窗口关闭处的缓存? 'ETag'与文件一起存储在缓存中。所以如果浏览器清除缓存中的元素,那么'ETag'也会丢失。但是,如果文件仍在缓存中,浏览器会发送带有请求的“ETag”,告诉服务器在缓存中已经有一个带有“ETag”的文件。 –