码迷,mamicode.com
首页 > 其他好文 > 详细

在浏览器地址栏按回车、F5、ctrl+F5刷新页面的区别

时间:2015-09-01 15:18:30      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

url地址栏里敲击enter:这样的刷新,大家可以在firebug里看一下,只有少数的请求会发送出去,而且几乎没有图片的请求,这是因为请求时会先检查本地是不是缓存了请求的图片,如果有缓存而且没有过期(过期可以通过该图片请求的header查看),他就不会发出这个图片request。


f5:f5刷新比enter略慢,为什么呢,因为他还是把所有请求都发给了server,只是在request里的header里有信息

Expires Fri, 28 Jun 2013 07:29:55 GMT
Last-Modified Mon, 21 Mar 2011 09:26:23 GMT

服务器判断还没有过期,就直接返回304not modified,在firebug里看就是这些304的请求都为灰色。因为直接返回304这样的信息,而不是图片等内容,他比ctrl+f5快,但是比enter慢,因为他还是把所有请求都发了一遍,比enter的不发请求自然是慢的。


ctrl+f5:这个就要慢了,应为所有的请求都是重新发送,重新从server读取内容,一点cache都没有读。为了防止在server的cache里读取,在ctrl+f5刷新时,request的header里还加了特殊字段,这个大家可以用firebug看一下,还挺有意思的。在request header 里会加pragma:no-cache cache control:no-cache。这两个就是告诉服务器到浏览器中间的所有节点,没有cache,看到这个中间节点也不查自己的cache,保证请求都是从server获得的。

在浏览器地址栏按回车、F5、ctrl+F5刷新页面的区别

标签:

原文地址:http://www.cnblogs.com/frontendBY/p/4775763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!