Nginx 浏览器缓存配置指令

# 浏览器缓存
# 当浏览器第一次访问服务器资源的时候,服务器返回到浏览器后,浏览器进行缓存
# 缓存的大概内容有:
# 1.缓存过期的日期和时间
# 2.设置和缓存相关的配置信息
# 3.请求资源最后修改时间
# 4.请求资源的MD5值
# 强缓存:当浏览器再次请求同样资源的时候,会去缓存中查看是否有它的缓存,有的话就查看是否过期,如果没过期就直接从浏览器缓存中拿取数据。这就是浏览器强缓存。
# 弱缓存:当浏览器再次请求同样资源的时候,会去缓存中查看是否有它的缓存,有的话就查看是否过期,如果过期了,浏览器就会拿着“请求资源最后修改时间”和“请求资源的MD5值”去服务器请求资源。这个时候服务器收到请求就会通过“请求资源的MD5值”去判断文件是否有改动,没有改动的话,服务器就会返回304状态码。这就是浏览器弱缓存。资源有改动的话,服务器就像浏览器第一次访问那样返回资源到浏览器。

# expires指令:该指令用来控制页面缓存的过期时间的。也就是可以通过该指令控制HTTP应答中的"Expires"和"Cache-Control"
# 语法一:expires [modified] time;
# 语法二:expires epoch | max | off;
# 默认值:off;
# 位置:http、server、location
# time:可以是负数、指定过期时间,如果是负数,Cache-Control则为no-cache(也就是弱缓存处理发方式),
# 如果为整数或0,Cache-Control的值为max-age=time。也就是多少秒后过期。
# epoch:指定Expires的值为"1 January,1970,00:00:01 GMT"(1970-01-01 00:00:00),Cache-Control的值为no-cache
# max:指定Expires的值为'31 December 2037 23:59:59 GMT'(2037-12-31 23:59:59),Cache-Control的值为10年的秒数。
# off:默认不缓存。
expires 1000;    # 缓存1000秒后需要重新获取

# add_header指令是用来添加指定的响应头和响应值。
# 语法:add_header name value [always]
# 位置:http、server、location
add_header Cache-Control no-cache;
# 缓存响应指令:
# Cache-Control: must-revalidate    //可缓存但必须再向服务器进行确认
# Cache-Control: no-cache        //缓存前必须确认其有效性
# Cache-Control: no-store        //不缓存请求或响应的任何内容
# Cache-Control: no-transform        //代理不可更改媒体类型
# Cache-Control: public        //可向任意方提供响应的缓存
# Cache-Control: private        //仅向特定用户返回响应
# Cache-Control: proxy-revalidate    //要求中间缓存服务器对缓存的响应有效性再进行确认
# Cache-Control: max-age=<seconds>    //响应最大Age值
# Cache-Control: s-maxage=<seconds>    //公共缓存服务器响应的罪罚Age值

# Nginx的跨域问题解决
# 浏览器调用服务器的GET,POST……方法的时候会实行了同源策略检查,检查不通过的话浏览器就会报错。不是同源就是跨域。
# 什么是同源策略:你当前页面通过GET,POST方法向服务器发请求的时候,
# 如果你当前页面的协议、域名(IP)、端口和请求接口的服务器有任何的不一样那么就不符合同源策略,
# 就会报缺少Access-Control-Allow-Origin、Access-Control-Allow-Methods的错
# Nginx可以直接通过add_header来配置请求响应头来解决跨域问题
add_header Access-Control-Allow-Origin http://127.0.0.1;
add_header Access-Control-Allow-Origin *; # 允许任何人调用
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE;

 

posted @ 2021-10-31 21:59  看一百次夜空里的深蓝  阅读(395)  评论(0编辑  收藏  举报