Caching 我怎样才能防止网络浏览器使;如果修改自";对缓存文件的请求?

Caching 我怎样才能防止网络浏览器使;如果修改自";对缓存文件的请求?,caching,nginx,if-modified-since,Caching,Nginx,If Modified Since,我正在尝试在nginx中设置缓存,这样就不需要重复获取图像。它似乎在工作,只是浏览器仍在使用请求每个文件,如果修改了头,则会使用请求。然后服务器以304 Not Modified响应,实际文件不会再次传输。我可以看出在很多情况下这是一种理想的行为,但在我的特殊情况下,文件过期一周是可以的,我宁愿跳过额外请求带来的延迟 是否可以添加缓存头,以告知浏览器始终自动使用缓存版本,直到过期?我当前的nginx配置是 expires 7d; add_header Pragma public; add_hea

我正在尝试在nginx中设置缓存,这样就不需要重复获取图像。它似乎在工作,只是浏览器仍在使用
请求每个文件,如果修改了
头,则会使用
请求。然后服务器以
304 Not Modified
响应,实际文件不会再次传输。我可以看出在很多情况下这是一种理想的行为,但在我的特殊情况下,文件过期一周是可以的,我宁愿跳过额外请求带来的延迟

是否可以添加缓存头,以告知浏览器始终自动使用缓存版本,直到过期?我当前的nginx配置是

expires 7d;
add_header Pragma public;
add_header Cache-Control "public";

通过进一步研究,这些请求似乎由浏览器自行决定,与nginx配置无关。如果您在Chrome中执行ctrl-f5刷新,那么它将重新请求所有文件,无论它们是否被缓存。如果只执行f5,则它将发送带有“If Modified Since”头的请求,然后仅在文件已更改时更新文件(这就是我所做的)。只要单击指向页面的链接,就不会请求缓存文件