当您在nginx中使用add_header指令时,该头部信息被添加到来自原始服务器的响应中。假设原始服务器返回cache-control public, max-age=60。但是在nginx反向代理位置中,您设置了如下内容:add_header cache-control public, max-age=10。这究竟会发生什么呢?我可以想到两种不同的情况:
1)Nginx尊重来自原始服务器的cache-control头部信息,并将内容存储在其缓存中,有效期为60秒。然后用已覆盖的头部信息传递响应,导致客户端将资源存储在其缓存中,有效期为10秒。
2)Nginx首先覆盖响应头,然后解释它们。它使用10秒的有效期存储该资源,并将响应传递给客户端,客户端也将其缓存在有效期为10秒的缓存中。
1)Nginx尊重来自原始服务器的cache-control头部信息,并将内容存储在其缓存中,有效期为60秒。然后用已覆盖的头部信息传递响应,导致客户端将资源存储在其缓存中,有效期为10秒。
2)Nginx首先覆盖响应头,然后解释它们。它使用10秒的有效期存储该资源,并将响应传递给客户端,客户端也将其缓存在有效期为10秒的缓存中。