美文网首页
一个资源是如何缓存下来的?

一个资源是如何缓存下来的?

作者: 牛x的依然 | 来源:发表于2018-01-30 17:20 被阅读0次

一个资源是如何缓存下来的?

 1.img标签 用户根据url去获取资源

{

这时是如何诱导到CDN上的呢?

我认为是DNS返回了CDN列表。让他去找CDN。然后CDN再根据客户端的IP分配给CDN节点。

其实是我们的域名的DNS会根据用户的ip直接分配CDN给他们。

}

2.CDN查询缓存,如果没有发现,就去管服务器要。

3.服务器找到资源,还给CDN,并且告诉他,永久缓存。

4.CDN再把信息和资源原原本本的告诉客户端。客户端也就把资源拿到并且永久缓存了。

我们的资源有两类。

static静态资源。

这类资源会在外面加上tag。这样,每次发布,就能强行让用户重新拉取。

api图片资源。

这类资源通过修改数据库的名称来达到同步更新的目的。如果需要更换资源,更换名字就可以了。

产品经理改需求怎么办?对应着这两类资源。

换个banner接口的资源图?改名字就行了。

换个static文件?这就麻烦点了。首先复习下static资源的发布流程

1)拿到static文件。

2)同步工程文件。

3)更新服务器static目录。

4)push代码开始编译发布。

5)重新打包的时候,会将static的资源也做处理,打上tag。文件中的资源就都被打上tag了。

6)之后用户接受到新的app.js文件(上了戳的),回去访问新的静态资源,重新拉取数据。

如果修改这类static图片。

直接更新了static文件夹。

刷新cdn。强迫缓存服务器重新拉去。

ok 所有的新用户就没问题了。它实际上就是,发布上线后,更新static文件夹,并且命令cdn忘记缓存过这个资源。

我们如何掌控缓存的?

规则1:永久缓存全部资源。

规则2:如果名称变了就拉取新资源。

一旦永久缓存,就不会再次请求资源。server只能通过刷新CDN来更改CDN的缓存,但是无法控制客户端清空缓存。

什么是刷新CDN?

刷新cdn就是清除掉cdn的缓存。其实刷新后面可以跟一个预热。

{

预热从技术实现上需要告知CDN哪些资源需要重新拉取。

}

相关文章

  • 一个资源是如何缓存下来的?

    一个资源是如何缓存下来的? 1.img标签 用户根据url去获取资源 { 这时是如何诱导到CDN上的呢? 我认为是...

  • 协商缓存与强制缓存

    1、浏览器缓存缓存这东西,第一次必须获取到资源后,然后根据返回的信息来告诉如何缓存资源,可能采用的是强缓存,也可能...

  • 如何理解浏览器缓存,优点是什么?

    如何理解浏览器缓存,优点是什么? 浏览器缓存:包括页面html缓存和图片, js,css等资源的缓存。如下图,浏览...

  • 浏览器缓存机制(强缓存和协商缓存)

    1、为什么需要浏览器缓存?当我们访问同一个页面时,请求资源、数据都是需要一定的耗时,如果可以将一些资源缓存下来,那...

  • 4-10 webpack 与浏览器缓存(caching)

    1.简介 浏览器在加载资源时,为了提高效率,会使用一定的缓存策略,比如强缓存,与协商缓存,那么如何保证在资源发布以...

  • webpack学习笔记-3(生产环境配置)

    生产环境配置 如何让用户更快加载资源,包括: 如何压缩资源 如何添加环境变量优化打包 如何最大限度地利用缓存等 为...

  • WebView缓存分析

    WebView的缓存可以分为页面缓存和数据缓存。 页面缓存是指加载一个网页时的html、JS、CSS等页面或者资源...

  • http缓存

    如何让一个资源可缓存 HTTP 1.1 风格的Cache-Control 响应头中的 max-age指令HTTP ...

  • http缓存和各个版本差异理解

    http缓存我们可以通过设置http头部属性来对资源进行缓存,资源缓存分为强制缓存和协商缓存 强制缓存expire...

  • 协商缓存和强缓存的区别

    协商缓存和强缓存的区别(1)强缓存使用强缓存策略时,如果缓存资源有效,则直接使用缓存资源,不必再向服务器发起请求。...

网友评论

      本文标题:一个资源是如何缓存下来的?

      本文链接:https://www.haomeiwen.com/subject/keiczxtx.html