0

我被告知永远不要使用 GET 请求进行写操作。并且搜索引擎和其他机器人会跟随并激活它们。假设所有写操作都需要登录,将获取请求作为链接会有问题吗?

4

3 回答 3

5

使用 GET 编写违反了REST。这样做有更根本和哲学上的原因,而不仅仅是因为机器人会跟随它们。这并不意味着它是不允许的。

GET 不应导致写入操作的原因是,在 RESTful 服务中,有一个隐含的协议,即 GET 是“安全的”,不会导致任何远程发生。GET 仅用于获取信息。如果要发送信息,请使用 POST。

于 2010-03-02T13:33:15.320 回答
1

不仅机器人,普通浏览器对 GET 请求的行为也不同。当您在使用 POST 的页面上使用“后退”按钮时,大多数浏览器都会警告您重新发送请求将再次执行(假定)写入操作。GET 没有这样的事情,因为假定 GET 不会改变任何东西。

于 2010-03-02T13:38:04.843 回答
1

登录不会保护用户免受浏览器、浏览器插件(包括链接预览器)、“网络加速器”甚至代理服务器进行链接预取的危险。

于 2010-04-30T14:19:07.460 回答