我正在寻找一种方法来清除nginxcaching使用通过在url上添加一个特定的注释。
比方说,我有这个url(项目)与nginxcaching:
http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg
如果我想清除它,我将不得不补充:
http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg&purge=1
如果我们在这个URL的末尾添加&purge=1 ,那么可以清除一个URL吗?
我find的所有教程都使用curl -X命令来清除特定的项目,例如:
curl -X PURGE http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg
https://scene-si.org/2016/11/02/purging-cached-items-from-nginx-with-lua/
而且我希望能够清除一个nginxcaching项(url)而不必使用curl -X命令。
链接教程使用Lua脚本添加清除function,因此可以修改它以使用&purge=1而不是PURGE http方法。 但是 ,生产系统不可取。
HTTP / REST服务devise的一个指导原则是GET请求(即当你调用curl <url>时会发生什么)是“安全的”,这意味着它们应该基本上是只读的,没有任何副作用。 其中一个原因是,客户端可能会提前打电话给他们,例如网页浏览器可以随时调用页面上显示的URL来提升性能。 这将清除caching。