ThingJS-X浏览器缓存的加载机制

何双双发表于:2022年08月26日 18:43:52更新于:2022年12月12日 10:08:40

1、3.5系列

(1)在ThingJS-X3.5系列版本中,没有部署nginx,不使用nginx,使用http直接访问ThingJS-X的系统,如下图是第一次请求下图的环境和刷新了一次页面对同一个js文件的访问记录,第一次在服务器中获取文件,第二次直接使用了客户端磁盘缓存(disk cache)

e40f21f6a9067a51873d507a9c26bc4d.png

(2)此情况对于js、css、图片等静态资源都会有缓存

2、4.X系列

(1)在V4.0版本以后,产品部署默认是安装了nginx的,nginx提供了http访问和https访问,由于https使用的证书是自签证书,所以此种情况是没有缓存的,如果加载想使用缓存,需要客户自行购买SSL证书

(2)对于http访问,我们默认加了返回头为:add_header Cache-Control "no-cache, max-age=1800"; 所以会使用协商缓存,对于静态资源没有变化的情况下,直接使用缓存,缓存有效期为1800秒,即30分钟。配置如下:

location /thing/auth {
	add_header Cache-Control "no-cache, max-age=1800";
	alias /uino-front-path/thingjsx-front/auth;
}
location /thing/rsm {
	add_header Cache-Control "no-cache, max-age=1800";
	alias /uino-rsm-path/thingjsx-data/rsm;
}
location /thing/campusbuilder {
	add_header Cache-Control "no-cache, max-age=1800";
	alias /uino-front-path/thingjsx-front/campusbuilder;
}
location /thing/citybuilder {
	add_header Cache-Control "no-cache, max-age=1800";
	alias /uino-front-path/thingjsx-front/citybuilder;
}
location /thing/configuration {
	add_header Cache-Control "no-cache, max-age=1800";
	alias /uino-front-path/thingjsx-front/configuration;
}
location /thing/dtwin {
	add_header Cache-Control "no-cache, max-age=1800";
	alias /uino-front-path/thingjsx-front/dtwin;
}

大家可以根据自己的实际需要,进行修改。

注意:

1、协商缓存:设置了no-cache之后并不代表浏览器不缓存,而是在缓存前要向服务器确认资源是否被更改,如果未更改,则使用缓存。

2、使用自签证书,浏览器是不会启用磁盘缓存,但是个别文件会在内存中有缓存。


欢迎使用ThingStudio,一站搞定真孪生。
    您需要登录后才可以回复