Nginx`if_modified_since`是否仅适用于静态资源?
发布时间:2020-12-13 21:25:56 所属栏目:Nginx 来源:网络整理
导读:我似乎无法找到足够的文档.我有一个应用程序,可以生成一些动态响应,但仍然可以从Last-Modified标头中受益 所以我发送它. 但是,启用if_modified_since(设置为之前,每个http://nginx.org/en/docs/http/ngx_http_core_module.html#if_modified_since)似乎对非静
我似乎无法找到足够的文档.我有一个应用程序,可以生成一些动态响应,但仍然可以从Last-Modified标头中受益 – 所以我发送它. 但是,启用if_modified_since(设置为之前,每个http://nginx.org/en/docs/http/ngx_http_core_module.html#if_modified_since)似乎对非静态资源没有任何影响.例如,php,python应用程序. 这是因为Nginx不只是查看我的响应Last-Modified标头吗?因为我可以看到它们似乎设置正确,如下所示:
还是有一些我忽视的更大的东西?只是好奇如何 最佳答案
在应用程序回复中发送Last-Modified标头是一个开始,但似乎您没有正确处理If-Modified-Since传入请求因为您的应用程序应回复304 Not Modified而不是200 OK.更改nginx上的指令仅影响由nginx直接提供的请求,即静态资源,除非您将其配置为反向代理缓存.在这种情况下,您可以提供有关此标头值的陈旧回复,因为内容将缓存一段时间而不会访问您的应用.车削< X> _cache_revalidate上将使用了If-Modified-Since标题重新验证nginx的缓存和应用程式之间的高速缓存内容,一旦它已经期满(其中,< X> =代理/ fastcgi的/ SCGI / uwsgi)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |