本文共 572 字,大约阅读时间需要 1 分钟。
CDN通常是针对路径来做的缓存,例如当我们访问页面https://xxx.com/a/b/c.html的时候,一般是针对/a/b/c.html
做的缓存,也就是每个人看到的/a/b/c.html
页面都是一样的
但是,通常我们在手机端和PC端看到的页面其实是有区别的,在我们的页面都有不同版本的情况下,CDN如何知道缓存那个版本呢?它是无法预测用户是来自移动端,还是来自PC端的。
这时候就得再添加一个User-Agent判断了,HTTP头中的Vary就是干这个的!意思就是告诉除了路径,还要加上其他的选项做缓存。nginx配置示例
server { server_name localhost; listen 80; gzip_static on; # root /var/www/html/public; location ~ ^/.*\.(txt|js|js\.map|css|jpg|png|gif|exe|ico) { root /var/www/html/app/public; expires max; } # 添加header代理告诉CDN走不同的缓存 add_header Vary "User-Agent";}
针对特殊需求,还可以加入其他的标识,例如:Accept-Encoding、Cookie
转载地址:http://mzlkz.baihongyu.com/