首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HTTP 缓存控制总结

用户刷新/访问行为 我们可以把刷新/访问界面的手段分成三类: 在URI输入栏中输入然后回车/通过书签访问 F5/点击工具栏中刷新按钮/右键菜单重新加载 Ctl+F5 在浏览器中,有时候你会发现通过不同手段访问...准备工作: 为了模拟第一次访问某网站,清除相关缓存内容。为了方便讨论与对比,以下内容腾讯课堂 index.css文件为例。...2、F5/点击工具栏中刷新按钮/右键菜单重新加载 F5作用和直接在URI输入栏中输入然后回车是不一样F5会让浏览器无论如何都发一个HTTP Request给Server,即使先前响应中有Expires...3、from-cache / 304 Expires和Cache-Control都有一个问题就是服务端作为修改,如果还在缓存时效里,那么客户端是不会去请求服务端资源(非刷新),这就存在一个资源版本不符问题...而在用户不同刷新页面行为中,二者结合也能很好利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要请求与数据传输。

61831

HTTP缓存控制小结

HTTP缓存首部字段优先级? HTTP缓存首部字段特点与局限性? 用户不同页面刷新行为差别? 在实践中我们该用哪些报文头来控制缓存呢?...用户刷新/访问行为 我们可以把刷新/访问界面的手段分成三类: 在URI输入栏中输入然后回车/通过书签访问 F5/点击工具栏中刷新按钮/右键菜单重新加载 Ctl+F5 在浏览器中,有时候你会发现通过不同手段访问...2、F5/点击工具栏中刷新按钮/右键菜单重新加载 F5作用和直接在URI输入栏中输入然后回车是不一样F5会让浏览器无论如何都发一个HTTP Request给Server,即使先前响应中有Expires...3、from-cache / 304 Expires和Cache-Control都有一个问题就是服务端作为修改,如果还在缓存时效里,那么客户端是不会去请求服务端资源(非刷新),这就存在一个资源版本不符问题...而在用户不同刷新页面行为中,二者结合也能很好利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要请求与数据传输。

40930
您找到你想要的搜索结果了吗?
是的
没有找到

HTTP缓存控制小结

HTTP缓存首部字段优先级? HTTP缓存首部字段特点与局限性? 用户不同页面刷新行为差别? 在实践中我们该用哪些报文头来控制缓存呢?...用户刷新/访问行为 我们可以把刷新/访问界面的手段分成三类: 在URI输入栏中输入然后回车/通过书签访问 F5/点击工具栏中刷新按钮/右键菜单重新加载 Ctl+F5 在浏览器中,有时候你会发现通过不同手段访问...所以我们也能看到该资源Size为from cache 2、F5/点击工具栏中刷新按钮/右键菜单重新加载 F5作用和直接在URI输入栏中输入然后回车是不一样F5会让浏览器无论如何都发一个HTTP...3、from-cache / 304 Expires和Cache-Control都有一个问题就是服务端作为修改,如果还在缓存时效里,那么客户端是不会去请求服务端资源(非刷新),这就存在一个资源版本不符问题...而在用户不同刷新页面行为中,二者结合也能很好利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要请求与数据传输。

34820

HTTP缓存控制小结

HTTP缓存首部字段优先级? HTTP缓存首部字段特点与局限性? 用户不同页面刷新行为差别? 在实践中我们该用哪些报文头来控制缓存呢?...用户刷新/访问行为 我们可以把刷新/访问界面的手段分成三类: 在URI输入栏中输入然后回车/通过书签访问 F5/点击工具栏中刷新按钮/右键菜单重新加载 Ctl+F5 在浏览器中,有时候你会发现通过不同手段访问...2、F5/点击工具栏中刷新按钮/右键菜单重新加载 F5作用和直接在URI输入栏中输入然后回车是不一样F5会让浏览器无论如何都发一个HTTP Request给Server,即使先前响应中有Expires...3、from-cache / 304 Expires和Cache-Control都有一个问题就是服务端作为修改,如果还在缓存时效里,那么客户端是不会去请求服务端资源(非刷新),这就存在一个资源版本不符问题...而在用户不同刷新页面行为中,二者结合也能很好利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要请求与数据传输。

1.1K80

HTTP 缓存控制总结

用户刷新/访问行为 我们可以把刷新/访问界面的手段分成三类: 在URI输入栏中输入然后回车/通过书签访问 F5/点击工具栏中刷新按钮/右键菜单重新加载 Ctl+F5 在浏览器中,有时候你会发现通过不同手段访问...准备工作: 为了模拟第一次访问某网站,清除相关缓存内容。为了方便讨论与对比,以下内容腾讯课堂 index.css文件为例。...2、F5/点击工具栏中刷新按钮/右键菜单重新加载 F5作用和直接在URI输入栏中输入然后回车是不一样F5会让浏览器无论如何都发一个HTTP Request给Server,即使先前响应中有Expires...3、from-cache / 304 Expires和Cache-Control都有一个问题就是服务端作为修改,如果还在缓存时效里,那么客户端是不会去请求服务端资源(非刷新),这就存在一个资源版本不符问题...而在用户不同刷新页面行为中,二者结合也能很好利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要请求与数据传输。

61980

浏览器缓存机制详解

对 cache-directive 值浏览器响应 Cache-directive 打开一个新浏览器窗口 在原窗口中单击 Enter 按钮 刷新 单击 Back 按钮 public 浏览器呈现来自缓存页面...当用户按 F5刷新页面失效操作 Firefox 3.5 IE 8 Chrome 3 Safari 4 内容没有失效 浏览器重新发送请求到服务器。...当用户在原始浏览器窗口中单击 Enter 按钮 Last-Modified E-Tag 操作 Firefox 3.5 IE 8 Chrome 3 Safari 4 内容自上次访问以来没有被修改 浏览器呈现来自缓存页面...当用户按 F5刷新页面 Last-Modified E-Tag 操作 Firefox 3.5 IE 8 Chrome 3 Safari 4 内容自上次访问以来没有被修改 浏览器重新发送请求到服务器...没有缓存设置且用户单击 Back 或 Forward 按钮 Firefox 3.5 IE 8 Chrome 3 Safari 4 内容自上次访问以来没有被修改 浏览器呈现来自缓存页面 浏览器呈现来自缓存页面

61020

JavaScript实现F5效果,清空缓存刷新页面

对于大多数浏览器而言,都包含有三种刷新方式,以下我们Chrome浏览器为例: F5刷新:这是最常用刷新方式,它会根据缓存有效期和修改时间,决定是否重新从服务器下载内容。...如果缓存内容没有过期或没有修改,就会直接使用缓存,这样可以节省流量和时间。...Shift+F5刷新:这是清除缓存刷新方式,它会把浏览器中临时文件夹文件删除再重新从服务器下载。这样可以清除一些可能造成问题缓存文件,但是也会消耗更多流量和时间。...JS 代码实现F5效果,清空缓存刷新页面 JS 代码实现F5效果,可以使用以下方法: window.location.reload(false) 方法会根据缓存有效期和修改时间,决定是否重新从服务器下载内容...未经允许不得转载:w3h5-Web前端开发资源网 » JavaScript实现F5效果,清空缓存刷新页面

4.5K41

浅谈浏览器HTTP缓存机制

点击被拦截请求,可以在右栏直接修改报文内容(上半区域是请求报文,下半区域是响应报文),点击黄色“Break on Response”按钮可以执行下一步(把请求发给服务器),点击绿色按钮“Run to...浏览器强制策略 如上述,当下大多数浏览器在点击刷新按钮或按F5时会自行加上“Cache-Control:max-age=0”请求字段,所以我们先约定成俗——后文提及刷新”多指的是选中url地址栏并按回车键...如上图红框部分是再次刷新页面时生成请求,这说明禁用缓存生效,预计浏览器在收到服务器Pragma字段后会对资源进行标记,禁用其缓存行为,进而后续每次刷新页面均能重新发出请求而不走缓存。 2....然而这并不是问题全部答案,我们前面提到过,在Chrome中如果点击“刷新按钮,Chrome会强制给所有资源加上“Cache-Control: max-age=0”请求首部并向服务器发送验证请求,...那么有这么一个问题——是否有办法在浏览器点击“刷新按钮时候不让浏览器去发新验证请求呢?

69020

前端性能优化归纳总结篇

2.如果设置了Expires或者Cache-Control,那么在指定时间内再次请求该文件时,只要不强制刷新缓存(F5等),浏览器会直接读取缓存而不再去请求服务器。...2)按回车、浏览器刷新按钮F5、Ctr+F5区别?...2.浏览器刷新按钮F5效果相同,不管是否有Expires或者Cache-Control,都会强制去请求服务器,进行再验证,根据If-Modified-Sinse或者If-None-Match判断是否要返回...1.有些文档会被周期性重写,但实际包含数据是一样。(尽管内容没有变化,最后修改日期却会发生变化) 2.有些文档可能被修改了,但是修改并不重要,没必要更新缓存。...3.有些服务器无法准确判定页面的最后修改日期。 4.文档在毫秒级间隙发生变化(如实时监控),秒为颗粒度Last-Modified就不够用了。 4)post请求拉取大量数据缓存策略?

52430

JSP 防止网页刷新重复提交数据

网页如何防止刷新重复提交与如何防止后退解决方法 提交后禁用提交按钮(大部分人都是这样做) 如果客户提交后,按F5刷新怎么办?...数据处理成功马上Redirect到另外一个页面 操作后刷新的确是个问题,你可以使用跳转页面、关闭本页面,如果是有参数据条件来控制,那就应该好做了,可以直接修改window.location值,把参数全部改掉...重定向可以解决页面刷新带来数据重复提交问题,我们自然可以利用重定向方式来解决这个问题。...它强制浏览器重新访问服务器下载页面,而不是从缓存读取页面。使用这种方法时,编程者主要任务是创建一个会话级变量,通过这个变量确定用户是否仍旧可以查看那个不适合通过后退按钮访问页面。...经过一番仔细寻寻觅觅之后,我发现仍旧无法找出真正能够完全禁用浏览器后退按钮办法。所有这里介绍方法都能够在不同程度上、不同方式禁止用户返回前一页面,但它们都有各自局限。

11.5K20

win10 uwp 简单MasterDetail UWP 导航List点击后退按钮页面更改大小修改显示修改我代码源码左右列表和内容相互操作

中文 English 本文主要讲实现一个简单界面,可以在窗口比较大显示列表和内容,窗口比较小时候显示列表或内容。也就是在窗口比较小时候,点击列表会显示内容,点击返回会显示列表。 先放图,很简单。...有内容 HasFrame=true; 后退按钮 在App写 Windows.UI.Core.SystemNavigationManager.GetForCurrentView()...,可以去下我源代码https://github.com/lindexi/UWP 然后在按后退按钮,就把我们hasFrame=false; 大概我们就把一个页面做好,Detail就显示我们点击传str...那么我们在界面变化是否,是否知道我们显示内容还是显示列表,这时就是我们得HasFrame,依靠这个选择ZIndex 修改我代码 现在需要说下,如何修改代码,作为你需要。...) 如果我们按返回,但是我们撸了一半,假如我们是页面跳转,不使用我源码,那么加上 NavigationCacheMode ,保存页面,这样不会让页面现在选择重新 左右列表和内容相互操作 如果需要使用左右两边相互操作

1.8K00

PHP 浏览器缓存_php缓存引擎

> 如用ie浏览器访问这个页面时,返回状态码200,连续多次刷新这个页面,这个页面并没有使用本地缓存,也没有向服务器作出任何表示.打开ie和这个临时文件目录发发现,该缓存文件”上次修改时间”为无,...浏览器并不知道这个文件生成时间或上次修改时间,没有过期检查依据,自然无法使用缓存. last-modified 当在动态程序添加了last-modified后,浏览器请求了该地址,再次刷新该地址会发现请求参数中携带了一个...对应静态内容,web服务器默认情况下不会开启Expires标记支持,需要自己去修改配置....请求页面 ctrl+f5 它使得网页及其所有组件直接向web服务器发送请求,并且不使用缓存协商. f5 它等同于单机浏览器刷新按钮,它允许浏览器在请求中附加表缓存协商,但不允许浏览器直接使用本地缓存...单击浏览器地址栏转到按钮或通过超链接 在浏览器输入url后回车等同于这种操作.这几种方式允许浏览器最少请求来获取网页数据,浏览器对所有没有过期内容直接使用本地缓存.

2.1K30

一文搞懂浏览器缓存策略

打开NetWork,查看avatar.jpg,刷新,会发现,资源访问仍然走缓存。如果按照规范定义应该是不生效。 ?...通过启发式缓存公司可以计算出缓存时间,修改本地时间超过缓存时间后,再刷新,会发现缓存失效。...刷新页面,再次查看NetWork。会发现请求头中带上了If-Modified-Since。...如果服务器判断资源未改变,则返回304,此外由于服务器返回304,资源会从缓存获取,所以资源大小也减少了,如下所示。 ? ? 修改index.html文件内容,再次刷新。...因为缓存有一些已知问题,使用查询字符串会导致有些代理服务器不缓存资源。 五、小试牛刀,看看你掌握了没有? 看了这么多内容,是时候来看看成果了。那么一起看下下面的问题吧。

1K20

ie浏览器最大化快捷键(电脑退出最大化快捷键)

系统属性”对话框 Windows键+CTRL+F打开“查找:计算机”对话框 SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单 WINDOWS+F1 显示“帮助” WINDOWS+TAB 在任务栏上按钮间循环...ALT+TAB 切换当前程序 有关F系列快捷键 在WINDOWS系统下作用: F1 显示当前程序或者Windows帮助内容。...网页浏览器中按F5键为刷新,CTRL+F5为强制刷新缓存 F4 需与其它键配合使用,(在IE中按F4或F6键可以在地址栏中弹出下拉菜单供选择或输入网址,ALT+D可以选择地址栏)   ALT+F4 关闭当前窗口或退出程序...— F5 刷新页面同时刷新缓存 —— CTRL+F5 停止下载页面 —— ESC 收藏夹中心快捷键 打开收藏夹 —— CTRL+I 固定模式打开收藏夹 —— CTRL+SHIFT+I...临时文件 —— Tools > Delete Browsing History 查找和安装插件 —— Tools > Manage Add-ons > Find More Add-ons 打印页面部分内容

2K30

关于清理webgame缓存问题

看看来浏览器对刷新处理方式。ie为例(安装httpwatch) 直接请求百度首页http://www.baidu.com/,看到所请求资源都是Cache ?...而刷新则是点击“刷新按钮,或者按F5 /右键点击“刷新”,则会向服务器发起请求并带上上一次服务器返回资源修改信息。 ? ? ?...而强制刷新—Ctrl + F5,则不会带上上一次请求信息,所有的资源都向服务器发起一个“全新”请求,并重新下载资源 ? ?...基本上所有的游戏资源都走是cdn(除一些特殊配置文件,需要动态更新外--不停服),而CDN最麻烦就是要解决缓存问题,就是需要请求最新文件内容覆盖已有的缓存。...If-Modified-Since,来更新缓存文件内容

2.1K20

浅谈浏览器缓存机制

浏览器是有缓存,做开发同学都知道浏览器缓存是非常蛋疼问题,特别是前端开发同学,明明改了为什么还没有生效,经常要去清理浏览器缓存,或者禁用浏览器缓存功能。...我们知道在浏览器中按F5刷新页面,CTRL+F5是强制刷新页面,这两个有什么区别呢? F5刷新会使用浏览器缓存。...另外,还有一个参数Last-Modified,即服务器返回最后修改时间,浏览器在请求时会带上If-Modified-Since这个值,服务器判断Last-Modified与If-Modified-Since...下面是关于Cache-control参数定义: public 所有内容都将被缓存,客户端和代理服务器都可缓存 private 内容缓存到私有缓存中,仅客户端可以缓存,代理服务器不可缓存 no-cache...no-store 所有内容都不会被缓存缓存或 Internet 临时文件中 must-revalidation/proxy-revalidation 如果缓存内容失效,请求必须发送到服务器/代理进行重新验证

73580

浏览器 HTTP 协议缓存机制详解

若最后修改时间较新,说明资源又被改动过,则响应整片资源内容(写在响应消息包体内),HTTP 200;若最后修改时间较旧,说明资源无新修改,则响应HTTP 304 (无需包体,节省浏览),告知浏览器继续使用所保存...HTTP1.1中Etag出现主要是为了解决几个Last-Modified比较难解决问题: Last-Modified标注最后修改只能精确到秒级,如果某些文件在1秒钟以内,被修改多次的话,它将不能准确标注文件修改时间...3、用户行为与缓存 浏览器缓存行为还有用户行为有关,如果大家对 强制刷新(Ctrl + F5) 还有印象的话应该能立刻明白我意思~ 用户操作 Expires/Cache-Control Last-Modified.../Etag 地址栏回车 有效 有效 页面链接跳转 有效 有效 新开窗口 有效 有效 前进、后退 有效 有效 F5/按钮刷新 无效(BR重置max-age=0) 有效 Ctrl+F5刷新 无效(重置CC=.../8302191 [4] 在浏览器地址栏按回车、F5、Ctrl+F5刷新网页区别 http://cloudbbs.org/forum.php?

1.4K50

接口测试|Fiddler界面主菜单功能介绍(二)

:打开IEInternet Options(选项)窗口(3)Clear WinINET Cache:清空 IE 和其他应用中所使用 WinINET 缓存文件(4)Clear WinINET Cookies...IE Cache:打开本地文件系统,查看ie缓存(12)Win8 Loopback Exemptions:windows使用了一种叫做“AppContainer”隔离技术,使得一些流量无法正常捕获,...:session 在上,请求和响应在下方左右处;(5)Tabs:打开标签页面,其中有三个标签可以打开,分别是 Preferences(fiddler 偏好属性),AutoSave(fiddler 自动保存设置...:嗅探,用来查看会话内容,上面是请求,下面是响应图片(7)Composer:设计构造在 Composer 中进行请求修改,可以把 session 框中数据先清除,然后点击 Composer 中...:刷新功能,按 F5 刷新Help菜单图片(1)Welcome Screen:回到主页面(2)Help:进入 fiddler 帮助网页中(3)Get Fiddler Book…:fiddler book

45510

浅谈浏览器缓存

浅谈浏览器缓存 最近在项目中遇到了IE浏览器因缓存问题未能成功向后端发送GET类型请求bug,然后顺藤摸瓜顺便看了看缓存知识,觉得有必要总结一下。...HTTP1.1中Etag出现主要是为了解决几个Last-Modified比较难解决问题: Last-Modified标注最后修改只能精确到秒级,如果某些文件在1秒钟以内,被修改多次的话,它将不能准确标注文件新鲜度...一般情况下,两者会配合一起使用,因为即使服务器设置缓存时间, 当用户点击“刷新按钮时,浏览器会忽略缓存继续向服务器发送请求,这时Last-Modified/ETag将能够很好利用304,从而减少响应开销...用户操作行为与缓存关系 用户在使用浏览器时候,会有各种操作,比如输入地址后回车,按F5刷新等,这些行为会对缓存有什么影响呢? ?...普通刷新 – 当按下F5或者点击刷新按钮刷新页面的时候,浏览器将绕过本地缓存来发送请求到服务器, 此时, 协商缓存是有效 强制刷新 – 当按下ctrl+F5来刷新页面的时候, 浏览器将绕过各种缓存

1.5K70
领券