企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 问题解决 ### 1\. 浏览器什么时候将资源放置在缓存中(比较常见的是硬盘和磁盘两种) ###### 实现方案:通过对请求头设置Cache-Control字段 在HTTP/1.1中,Cache-Control是最重要的规则,主要用于控制网页缓存,主要取值为: * public:所有内容都将被缓存(客户端和代理服务器都可缓存) * private:所有内容只有客户端可以缓存,Cache-Control的默认取值 * no-cache:客户端缓存内容,但是是否使用缓存则需要经过协商缓存来验证决定 * no-store:所有内容都不会被缓存,即不使用强制缓存,也不使用协商缓存 * max-age=xxx (xxx is numeric):缓存内容将在xxx秒后失效 ##### 总结: 较好的方式是使用no-cache方式,也就是协商缓存,请求服务资源判断是否是最新 ### 2\. 浏览器将什么资源放在内存,什么资源放磁盘? 1. 对于大文件来说,大概率是不存在内存总的,反之优先 2. 当前系统内存使用高的话,文件有限存储进硬盘 ### 3\. 浏览器怎么将允许进行缓存的内容存到相应位置。 1. 这部分的实现逻辑是浏览器的内部功能,将相应的资源存放到相应位置 #### 4\. 使用Nginx实现代理缓存 1. 使用Nginx的优势: nginx缓存,可以在一定程度上,减少源服务器的处理请求压力。 因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。nginx使用proxy\_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。 IO密集型服务的处理是nginx的强项。 [Nginx配置](https://www.cnblogs.com/walls/p/9017821.html)