我看到,特别是在德国,更多和mor网站,要求获得设置cookie的许可。我目前的项目在应用程序级别上不需要cookie。所以我想知道我是不是应该完全放弃饼干。
我的问题:
是否可以在不使用cookie的情况下完全使用nginx设置静态网站?
如果是这样,没有cookie的网站会有什么缺点吗?
答案 0 :(得分:3)
是的,这当然是可能的。
绝对没有缺点°(°除非你关心跟踪,用户登录或有任何偏好,尽管也有替代方案)。
另一方面,有很多好处 - 您确保如果一个用户与另一个用户共享该URL,则URL将按预期工作,因为它不依赖于任何cookie。
请注意,在nginx的帮助下,您甚至可以从严格需要cookie的后端应用程序中删除cookie。例如,我在http://BXR.SU/安装了我的OpenGrok,在那里我使用nginx从两个方面剥离cookie,并有效地使用面向客户端的URL路径作为首选标识符来代替保存这些信息在cookie中,并在将请求传递回OpenGrok时将$uri
转换为$args
(代替cookie)(如果OpenGrok不支持$ args作为后备,它也将是可能仍然在后端使用cookie,但在将内容提供给客户端之前仍然清除它们。)
有关我的实施的更多讨论,请参阅http://serverfault.com/questions/462799/leverage-proxy-caching-with-nginx-by-removing-set-cookie-header/467774#467774。例如,以下内容可用于确保您的后端既不能设置也不能获取任何cookie:
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
# important! Remember the special inheritance rules for proxy_set_header:
# http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header
proxy_set_header Cookie "";
请注意,即使使用上述代码,前端仍可借助JavaScript设置和读取Cookie。