我们之前一直都在介绍动态请求的加速,接下来讲一下静态请求,也就是cdn。
当请求来到服务器上时,如果是访问静态资源,那么就将请求解析到cdn加速域名中,再由cdn(海量的就近加速节点)就近看有没有存静态资源,有的话直接返回,没有的话去指定的http地址中抓取数据返回并缓存起来,下次就可以直接返回了。
接下来配置一下,这里用的是阿里云的:
在cdn上添加配置,ip就是nginx的ip:
接下来在域名解析中添加cname的记录:
访问即可,压测:
cache control响应头
随便找一个网站看下参数,可以看到cache control是响应头返回的。
他的作用是服务端告诉客户端这个http的response可不可以缓存,以什么样的策略缓存。他有几种状态:
private:客户端可以缓存
public:客户端和代理服务器(例如nginx、cdn等)都可以缓存
max-age=xxx:缓存的内容将在xxx秒后失效
no-cache :强制向服务端再验证一次,这个的意思是客户端会缓存起来,但是下次请求的时候会向服务端验证这个缓存能不能用,再决定是否用这个缓存
no-store:不缓存请求的任何返回内容
可以看下图:
什么是再验证一次?也就是有效性判断,那么怎么进行