以下内容貌似简单,但有些朋友不一定都理解清晰了。
浏览器缓存存在本地,ie的如:c:\documents and settings\administrator\local settings\temporary internet files文件夹下。浏览器取缓存内容的类型:
[b](1)本地缓存:直接从本地去页面缓存;[/b]
如果缓存的页面有expires(绝对时刻)或cache-control:max-age(时长),则在有效时间内,则取本地页面,不会给浏览器发请求。
[b](2)协商缓存:与web服务器协商,判断是否取浏览器缓存。[/b]
如果没有expires或max-age,则浏览器会发请求到服务器,附上if-modified-since报文头,web服务器则会判断页面是否在这个时间后有更新过,如没有则返回一个304状态,浏览器取本地缓存的内容;否则,服务器将返回200状态,并返回该资源和last-modified。
在浏览器(如ie)中有几种操作,如下:
[b](1)强制刷新:ctrl + f5[/b]
浏览器将绕过本地缓存、协商缓存,让服务器重新发送请求的资源。
[b](2)刷新:f5[/b]
浏览器将绕过本地缓存,将使用协商缓存来请求资源。
[b](3)转向或回车:[/b]
浏览器将使用本地缓存、协商缓存。
浏览器缓存存在本地,ie的如:c:\documents and settings\administrator\local settings\temporary internet files文件夹下。浏览器取缓存内容的类型:
[b](1)本地缓存:直接从本地去页面缓存;[/b]
如果缓存的页面有expires(绝对时刻)或cache-control:max-age(时长),则在有效时间内,则取本地页面,不会给浏览器发请求。
[b](2)协商缓存:与web服务器协商,判断是否取浏览器缓存。[/b]
如果没有expires或max-age,则浏览器会发请求到服务器,附上if-modified-since报文头,web服务器则会判断页面是否在这个时间后有更新过,如没有则返回一个304状态,浏览器取本地缓存的内容;否则,服务器将返回200状态,并返回该资源和last-modified。
在浏览器(如ie)中有几种操作,如下:
[b](1)强制刷新:ctrl + f5[/b]
浏览器将绕过本地缓存、协商缓存,让服务器重新发送请求的资源。
[b](2)刷新:f5[/b]
浏览器将绕过本地缓存,将使用协商缓存来请求资源。
[b](3)转向或回车:[/b]
浏览器将使用本地缓存、协商缓存。