一次JS请求一般情况下哪些地方会有缓存处理

DNS缓存、CDN缓存、浏览器缓存、服务器缓存

1. DNS缓存 

        DNS缓存指DNS返回了正确的IP之后,系统就会将这个结果临时存储起来,并为缓存设置一个失效时间,在失效时间之内再次访问该网站时,系统会直接在电脑本地的DNS缓存中返回结果,而不必请求DNS服务器;失效时间过了之后则会请求DNS服务器获取结果。

2. CDN缓存

        类似于HTTP,客户端请求数据时,先从本地缓存查找,如果请求的数据没有过期,则返回并使用;如果已经过期,则向CDN边缘节点发起请求,然后CDN会检测被请求的数据是否过期,如果没有过期则返回数据给客户端,如果过期,CDN向源站发送请求、获取数据并返回给客户端。

        CDN边缘节点缓存机制,一般都遵守http标准协议,通过http响应头中的Cache-Control和max-age的字段来设置CDN边缘节点的数据缓存时间。

3. 浏览器缓存

        浏览器缓存是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求同一页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。

        浏览器缓存主要有两类:缓存协商:Last-modified ,Etag 和彻底缓存:cache-control,Expires。浏览器都有对应清除缓存的方法。

4. 服务器缓存

        服务器缓存有助于优化性能和节省带宽,它将需要频繁访问的Web页面和对象保存在离用户更近的系统中,当再次访问这些页面或对象时会加快速度。

你可能感兴趣的:(前端,缓存,html5)