Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx`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标头吗?因为我可以看到它们似乎设置正确,如下所示:

> GET /3.0/view.json?id=2 http/1.1
> Host: xxxxxxxxxxxxx
> Accept: */*
> If-Modified-Since: Sat,02 May 2015 19:43:02 GMT
>
< http/1.1="" 200="" ok="" *="" server="">Nginx/1.4.7 is not blacklisted
< server:="">Nginx/1.4.7
@H_197_12@< content-type:="" application/json;="" charset="utf-8"><>transfer-encoding: chunked
< connection:="" keep-alive=""><>vary: Accept-Encoding
< last-modified:="" fri,01="" may="" 2015="" 19:56:05="" gmt="">

还是有一些我忽视的更大的东西?只是好奇如何
实现if_modified_since,与我设定期望的地方相比.我假设它只会查看响应标头,并根据需要覆盖状态.我错了吗?

最佳答案
在应用程序回复中发送Last-Modified标头是一个开始,但似乎您没有正确处理If-Modified-Since传入请求因为您的应用程序应回复304 Not Modified而不是200 OK.更改Nginx上的指令仅影响由Nginx直接提供的请求,即静态资源,除非您将其配置为反向代理缓存.在这种情况下,您可以提供有关此标头值的陈旧回复,因为内容将缓存一段时间而不会访问您的应用.车削< X> _cache_revalidate上将使用了If-Modified-Since标题重新验证Nginx的缓存和应用程式之间的高速缓存内容,一旦它已经期满(其中,< x>="代理/" fastcgi的/="" scgi="">sgi)

大佬总结

以上是大佬教程为你收集整理的Nginx`if_modified_since`是否仅适用于静态资源?全部内容,希望文章能够帮你解决Nginx`if_modified_since`是否仅适用于静态资源?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: