如何创建cookie,是通过前端还是后端?

28

据我所知,Cookie是一种使我们的Web应用程序具有状态的方法。

由于可以在JavaScript(前端)和HTTP响应中(由后端)创建cookie,因此是否有原则,即何时应由前端创建cookie,何时应由后端创建cookie?

如果能提供一些用户场景,那就太好了。

3个回答

27

需要考虑以下几点:

  1. cookie的内容是在哪里创建的?如果是会话id,则可能是在服务器上创建,因此cookie将在服务器端创建。如果是用户查看偏好设置,而这些设置不存储在服务器端,则可能是在客户端设置,然后cookie将在客户端设置。

  2. 服务器端cookie可以设置额外的安全性(称为http-only),使它们只对服务器可见,而不对客户端JavaScript可见,但它们仍然由浏览器存储以表示特定的客户端。


1
它们是同一件事。使用方便的那个。比如,如果你在JS(前端)中做了某些操作并且想要存储cookie,就从JS中存储它。后端也是同样的道理。 这可能会有所帮助。 Cookies - PHP vs Javascript:PHP与Javascript的Cookie

0

考虑到服务器端代码在客户端代码之前执行。

我遇到了这种情况:

我的后端代码跟踪网站上的每个移动和访问者的指示器是一个cookie。然而,在初始访问时,当用户没有cookie时,我的函数将使用指示器undefined保存该移动,因为用户请求在cookie生成之前处理。

因此,在这种情况下,我会选择后端来处理cookies。

同时,当我需要修复破损的WordPress网站并使用外部Node.JS API作为粘合剂时,我喜欢在客户端创建cookies。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接