gpt4 book ai didi

http - 跟踪后退按钮

转载 作者:可可西里 更新时间:2023-11-01 16:05:58 26 4
gpt4 key购买 nike

我想第一次使用 REST 方法编写一个 Web 应用程序订购系统。当事情发布到页面时,我理解“消息 ID”的概念,但出现了这种情况。一旦用户发布到网络应用程序,您可以使用附加到 URI 的 ID 来跟踪他们的状态,但是如果他们在没有任何 ID 的情况下点击浏览器的后退按钮到应用程序的入口点会发生什么?然后他们在交易中失去他们的状态。

我知道你总是可以给他们一个 cookie,但如果他们关闭了 cookie,你就不能这样做,最坏的情况是,他们也关闭了 javascript。

现在,我明白答案可能是“是的,这就是会发生的事情”,这就是故事的结局,我可以接受,但是,作为新手,我是否遗漏了什么?

最佳答案

REST 在服务器端并没有真正的状态;您只需指向资源。不跟踪用户 session ;相反,cookie 用于跟踪应用程序状态。然而,如果您发现您确实需要 session 状态,那么您将不得不打破 REST 并在服务器上跟踪它。

需要考虑的几件事:

  • 您有多少用户禁用了 cookie?有多少人甚至知道该怎么做?
  • 您的用户真的有可能关闭 JS 吗?如果是这样,您将如何在没有 AJAX 的情况下完成 PUT(编辑)和 DELETE(删除)?

编辑:由于您不想强制使用 cookie 和 JavaScript,因此您无法拥有真正的 RESTful 系统。但是你可以在某种程度上伪造它。您将需要在服务器端跟踪用户。您可以使用在您选择的语言/框架中找到的 session 对象来执行此操作,或者通过向数据库添加一个字段来获取您想知道的任何信息。当然,当用户点击后退按钮时,他们很可能会转到缓存页面。如果那不行,那么您将需要修改 header 以禁止缓存。基本上,如果您不使用 cookie,它会变得更加复杂,但并非无法管理。

缺少的 PUT 和 DELETE HTTP 方法怎么办?您可以使用 POST 和隐藏参数来伪造这些参数,以指定您是在制作新内容、编辑内容还是删除记录。 GET 不应该真正改变。

关于http - 跟踪后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com