首页
学习
活动
专区
圈层
工具
发布

Nginx 缓存控制

nginx 有好几个参数控制缓存,以nginx缓存图片文件作为例子。...=3d; 这个参数控制缓存池的规模,以及与源服务器的交互频率。...第二,缓存的生命周期 proxy_cache_valid  200 302 3d; 这个参数直接控制缓存的生命周期, 本例中,如果图片在3天内再次被访问,则直接命中缓存池,返回HIT, 超过3天时间就主动跳过缓存池...如果缓存池里有,则更新缓存的时间戳,并返回EXPIRE, 如果缓存池里没有,则重新生成缓存,并返回MISS, 这个值应该 缓存池的文件失效时间才能提高命中率。...第三,浏览器缓存的生命周期 expires 7d 这个参数控制浏览器保存图片多久,分为几个阶段: (不同的浏览器行为稍有不同,以chrome为例) 1、客户使用浏览器第一次打开网页,服务器返回200,图片进入浏览器缓存

86720

HTTP缓存控制小结

HTTP缓存首部字段的优先级? HTTP缓存首部字段的特点与局限性? 用户不同的页面刷新行为的差别? 在实践中我们该用哪些报文头来控制缓存呢?...DOCTYPE html> 缓存控制测试 缓存控制时间。 ?...缓存实践 综上对各种HTTP缓存控制头部的对比以及用户可能出现的浏览器刷新行为的讨论,当我们在一个项目上做http缓存的应用时,我们实际上还是会把上述提及的大多数首部字段均使用上。...而在用户的不同刷新页面行为中,二者的结合也能很好的利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要的请求与数据传输。

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

    HTTP 缓存控制总结

    HTTP缓存首部字段的优先级? HTTP缓存首部字段的特点与局限性? 用户不同的页面刷新行为的差别? 在实践中我们该用哪些报文头来控制缓存呢? 文中使用的1.html以及doge.png如下所示 ?...缓存校验字段 上述的首部字段均能让客户端决定是否向服务器发送请求,比如设置的缓存时间未过期,那么自然直接从本地缓存取数据即可(在chrome下表现为200 from cache),若缓存时间过期了或资源不该直接走缓存...我们可以看到该操作返回了200,并刷新了相关的缓存控制时间。 ?...缓存实践 综上对各种HTTP缓存控制头部的对比以及用户可能出现的浏览器刷新行为的讨论,当我们在一个项目上做http缓存的应用时,我们实际上还是会把上述提及的大多数首部字段均使用上。...而在用户的不同刷新页面行为中,二者的结合也能很好的利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要的请求与数据传输。

    78831

    HTTP之缓存控制

    一、查看浏览器缓存 查看浏览器缓存需要下载一个工具ChromeCacheView: http://www.nirsoft.net/utils/chrome_cache_view.html 二、缓存控制...服务器返回的响应中如果包含no-cache指令,那么缓存服务器不能对资源进行缓存。源服务器以后也将不再对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作。...Cache-Control:no-cache 如上定义,每次有请求发出时,缓存会将此请求发到源服务器,源服务器端会验证请求中所描述的缓存是否过期,若未过期(实际就是返回304),则缓存才使用本地缓存副本...2.1.2 no-store 该指令规定缓存不能在本地存储请求或响应的任一部分。 需要注意的是:no-cache不是不缓存,而是不缓存过期的资源,缓存会向源服务器进行有效性确认后再处理资源。...六、一直使用协商缓存 上例是强缓存+协商缓存的方式。 如何一直使用协商缓存呢?

    81710

    HTTP缓存控制小结

    HTTP缓存首部字段的优先级? HTTP缓存首部字段的特点与局限性? 用户不同的页面刷新行为的差别? 在实践中我们该用哪些报文头来控制缓存呢?...DOCTYPE html> 缓存控制测试 缓存控制时间。 ?...缓存实践 综上对各种HTTP缓存控制头部的对比以及用户可能出现的浏览器刷新行为的讨论,当我们在一个项目上做http缓存的应用时,我们实际上还是会把上述提及的大多数首部字段均使用上。...而在用户的不同刷新页面行为中,二者的结合也能很好的利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要的请求与数据传输。

    1.4K80

    HTTP 缓存控制总结

    HTTP缓存首部字段的优先级? HTTP缓存首部字段的特点与局限性? 用户不同的页面刷新行为的差别? 在实践中我们该用哪些报文头来控制缓存呢? 文中使用的1.html以及doge.png如下所示 缓存控制测试 缓存控制时间。 ?...Cache-Control: no-cache Pragma: no-cache 缓存实践 综上对各种HTTP缓存控制头部的对比以及用户可能出现的浏览器刷新行为的讨论,当我们在一个项目上做http缓存的应用时...而在用户的不同刷新页面行为中,二者的结合也能很好的利用HTTP缓存控制特性,无论是在地址栏输入URI然后输入回车进行访问,还是点击刷新按钮,浏览器都能充分利用缓存内容,避免进行不必要的请求与数据传输。

    75280

    禁止IIS缓存静态文件的方法(png,js,html等)

    禁止IIS缓存静态文件(png,js,html等)背景: IIS为了提高性能,默认情况下会对静态文件js,html,gif,png等做内部缓存,这个缓存是在服务器iis进程的内存中的。...IIS这么做在很大程度上可以提高静态文件的访问性能,在正常情况下只要静态文件更新了IIS也会更新缓存。但是如果更新的静态文件很多就有可能出现缓存不更新的情况。...如何禁止IIS缓存静态文件(png,js,html等): 通过设置Http头不让浏览器缓存的方法在这个场景下是行不通的,因为缓存不是出现的客户端,而是出现在IIS服务器上;所以解决问题还需要从IIS本身入手...注意事项: 通常情况下我们并不需要禁用IIS的静态文件缓存,iis会自动根据静态文件的修改时间自动更新缓存;只有在你遇到非常情况下才有必要禁用IIS缓存。...IIS缓存和Http缓存相关头没有任何关系,在IIS上加缓存头没有办法清除掉IIS对静态文件的缓存。

    4.1K20

    提高IIS网站服务器性能2点考虑(缓存+gzip)

    一、利用缓存,即内容过期   对于静态文件启用内容过期可以提高访问性能。...首先网站的目录要划分合理,图片、CSS、JavaScript均放在单独目录下,然后在IIS中选择目录,点属性-HTTP头,启用内容过期,可以选择30天后过去,这样,用户浏览器将比较当前日期和截止日期,以便决定是显示缓存页还是从服务器请求更新的页...,由于图片、CSS、JS通常变化较少,因此基本上都从本地缓存读取,从而加快显示速度。...2)、使用外部的JavaScript和CSS,将所有的JavaScript和CSS都做成外部文件的形式进行引用,这主要是为了让这些文件可以被浏览器缓存起来。...但是通常metabase.xml文件是无法修改的,因为iis正在使用该文件,所以就需要停止iis。操作方法:从“开始”菜单,单击“运行”。 在“打开”框中,键入 cmd,然后单击“确定”。

    1.4K20

    一、服务器的缓存控制

    缓存的概念,其实在你访问互联网中的任何资源其所产生的任何链路中的每一个节点几乎都会进行缓存,整个缓存体系和细节十分复杂。比如浏览器缓存,服务器缓存,代理服务器缓存,CDN缓存,等等等等。   ...那么,基于请求-应答模式的特点,缓存大致可以分为服务器缓存和客户端缓存,而服务器缓存经常与代理服务关联在一起,所以,我们今天讲的缓存,其实主要聊的就是客户端缓存,也就是浏览器缓存。...一、服务器的缓存控制   假设,现在没有缓存,我们想象一下获取资源的方式是什么样的?...二、客户端的缓存控制   我们刚刚学习了Cache-Control头字段,并且学习了服务器是怎么控制该字段的相关属性的。不仅仅是服务器可以控制缓存,客户端也可以控制缓存,客户端是怎么控制的呢?   ...那么什么时候缓存才能派上用场呢?当我们点击浏览器的前进后退按钮的时候,就会直接从缓存中获取数据,另外,重定向的时候,也可能会使用到缓存。那这两类操作有啥区别呢。

    1.8K30

    19-Nginx控制浏览器缓存与上游静态资源缓存

    Nginx控制浏览器缓存 浏览器缓存 第一次请求为200, 大小为49.8kb, 代表是直接从服务器请求的 刷新后状态为304, 大小为181B, 代表是加载的浏览器缓存 设置浏览器是否缓存...可以通过个勾选Disable cache禁用浏览器缓存, 那么每次都是加载服务器 Nginx设置资源过期时间 因为看的是之前的资源图片, 就修改原来的配置 server { listen...指令(秒:s, 分:m, 小时:h, 天:d) 含义 expires 10s; 10秒过期 expires @22h30m; 晚上10点30过期 expires -1h; 一个小时之前过期, 也就是不缓存...expires epoch; 不缓存 expires off; 关闭缓存, 默认是这个, 但是浏览器有默认的 expires max; 2037年, 也就是永不过期 Nginx的反向代理缓存 图中可以看到浏览器可以缓存...设置缓存大小 # inactive 缓存时间, 过期自动清理 # use_temp_path 是否使用临时目录, 建议关闭 proxy_cache_path /usr/local/nginx/upstream_cache

    91440

    iis 403.502

    遇到个奇葩case,图文并茂的多个.asp站点,访问过快就会出现403 forbidden,具体特征:1、点浏览器的刷新按钮点多快都没事,F5刷新也没事(因为走了浏览器本地缓存,并不会对服务器产生多大影响...forbidden分析:1、新建应用程序池,保持默认设置,替换asp站点原来的应用程序池结果:问题依旧,F12看到受影响l全是.css等静态URL访问日志里都是403 502的记录,HTTP Error日志没产生记录IIS...HttpErr Log : %SystemDrive%\Windows\System32\LogFiles\HTTPERRC:\Windows\System32\LogFiles\HTTPERR注意事项:IIS...日志没产生记录(默认路径C:\Windows\System32\LogFiles\HTTPERR)图片在机器内部用内网ip访问:直接报了更精确的403.502图片此时已经比较明确了,直接Google去搜"IIS...IIS配置主要3大块:应用程序池配置、全局配置、站点个性化配置,因为问题机器全部站点都有这个问题,且应用程序池已排除,所以,如果是IIS配置导致的,那肯定是全局配置部分限频相关的配置造成访问限制导致403.502

    2.8K60

    HTTP 缓存控制相关头字段的作用机制说明

    在 HTTP 协议中,缓存并不是由某一个字段单独决定的,而是由多个缓存相关头字段共同作用的结果。理解这些字段的优先级和生效规则,对于接口设计和性能控制非常重要。...下面对常见的 HTTP 缓存控制字段及其作用机制进行说明。...一、Cache-Control 的核心作用Cache-Control 是 HTTP/1.1 中用于控制缓存行为的主要字段,常见取值包括: no-cache no-store max-age public...五、ETag 与 If-None-Match 的验证机制除了时间控制,HTTP 还提供了基于内容的缓存验证机制。...七、缓存控制字段的生效顺序(简化)在常见实现中,缓存相关字段的判断顺序可以简化为: 是否存在 no-store 是否命中 max-age 是否需要重新验证(ETag / Last-Modified)

    16110
    领券