今天开了个脑洞,每天访问那么多不同的网页,虽然每个网站都要加载不同的 js 脚本 /css 脚本,可是像 jquery , bootstrap , angularjs 一类的很多网页都要下载一次。
虽然这些文件本身不大,可是由于不可预知的力量,大部分的网页往往就卡死在这些玩意上面。
所以如果浏览器能把这些文件缓存到本地,每次判断要下载这些文件,直接本地调用,这样能节省的时间是不容小觑的。。。那么这样是不是可行的?如果自己写 chrome 插件拓展能实现不?
// 新手一枚,容我瞎逼逼,轻喷
1
sogood 2015-12-26 01:46:33 +08:00 via iPhone
|
2
TheCure 2015-12-26 02:11:00 +08:00
用第三方 CDN 的好处就是第一个快
第二个 用户在使用该其他网站下如果已经下载好了这些脚本,在访问你的网站时,有可能会直接使用缓存 200 from cache,也有可能向 CDN 发起请求并收到 304 not modified,这取决于 CDN 服务器返回的缓存控制策略 你说的这个不仅可行,而且就是在应用啊,只不过仅限于同一家 CDN 罢了 |
3
imn1 2015-12-26 02:15:40 +08:00
|
5
pynix 2015-12-26 03:42:51 +08:00
同一家 CDN 应该能复用。
|
6
chyiz 2015-12-26 04:39:39 +08:00 1
同推荐 decentraleyes 。 Chrome 上好像还没有类似的。
浏览器本身的确有缓存,只是如 @callofmx 说的,每次还是会向 CDN 发请求,只是收到 304 not modified ,就不下载整个文件了。 decentraleyes 的作用是当扩展检测到有相关资源的请求,直接拦截用本地文件替换。这样根本不会有请求发送到 CDN ,速度更快,更重要的是 CDN 不会知道你在访问什么网站。 |
8
yech1990 OP |
11
qjhqxnne 2016-04-09 22:14:19 +08:00 1
|
12
yech1990 OP @qjhqxnne 描述看起来还以为类似手机浏览器云加速的东西,原理实现看起来确实是本地缓存
!()[https://lh3.googleusercontent.com/sdjpmMr8HPZfdqqV_Jd0TdthCbBni9sOzU-OV2K7oOXdHU8B-OL2opAq17Zxj-2aXzlcvw5t=s640-h400-e365-rw] 作者的逻辑略乱啊 |