浏览器输入网址打开要等个三四秒
1
cnleon 2021 年 3 月 18 日
打开调试看看就知道啊。直接打开:原先下载的文件要么本地缓存了,要么服务器就直接返回 304 了,而 ctrl+F5 是全部重新下载。
|
2
justfun 2021 年 3 月 18 日 via iPhone
阿这… 你自己的标题都回答自己了。因为原先从缓存加载就行了 现在全重新请求一遍呗
|
3
yfwl 2021 年 3 月 18 日
因为有缓存和没缓存的区别
|
5
imn1 2021 年 3 月 18 日
网页刷新有三种方式(从客户端看):
1. Ctrf-F5 对应的全新打开,除了 DNS 外,全部请求,跟第一次打开是基本接近的 2. F5 对应的方式,根据缓存及其时间,刷新时,网页或文本性质的会重新向服务器发出请求,其他的先从缓存获取(过时的缓存,即使还存在客户端,也要重新请求并传送一次) 3. 地址栏原 url 回车(注一:是指网页已经加载,并非第一次打开时),或者 location.href 实现,对应的方式是,仅发出主要页面的请求,其他内容全部从缓存获取(不计算缓存的时间),只有缓存不存在的内容,才会发出请求。注二:如果缓存空间大,已打开网页不多,即使过了缓存时间,浏览器也不会马上清掉这些过时的缓存的,这视乎浏览器的策略,所以有些过时的缓存,这种方式也不需要重新请求传送 显然第三种是最快的,但目前的浏览器基本没有第三种方式的按钮,要么自己回车,要么通过脚本或扩展实现 |
6
ToGo 2021 年 3 月 18 日
CTRL+F5 强制刷新缓存
|
7
imn1 2021 年 3 月 18 日
补充:
上面#5 所说的第三种方式,甚至外部 css 和 js 都不会发出请求 有些网站在 css 后面加上随机数字,css-url?12345 这种,就是避免这种情况,因为刷新网页时,这个随机数字就变了,浏览器会认为这个 css 不存在(缓存是根据完整 url 作为 key 的),而重新请求。这样能保证一些内容变化快,且不同的内容对应不同的 css 项目,而保证 css 是当前内容最合适的,因为有些 css 文件不是固定的、全部发向客户端的,而是服务器用程序动态拼出来的 |
9
systemcall 2021 年 3 月 18 日
|