对于登录 GET 还是 POST?

Abh*_*sad 5 php mysql login get http

我想知道我使用哪种 HTTP 方法来开发登录 API,GET 还是 POST?。我已经使用 post 方法在 PHP 中开发了我的登录 API,但是我的老板说,为什么你使用 POST 方法而不是 GET 方法。

ter*_*ško 12

始终POST最好使用 SSL(如:)https://...。因为GET出于缓存的原因,get 中的参数存储在各处。

所以,如果你的老板需要一个理由:安全


有一个与 REST 相关的原因:GET首先,查询会被积极缓存,因为它们不会改变数据的服务器状态。POST相反,请求永远不会被缓存,因为改变服务器的状态并且(与PUT请求不同),不期望调用多个POST请求来返回相同的响应并使服务器处于相同的状态。

例如:如果您发送 5 个登录请求,则失败,第 6 个可以返回“您的 IP 已被阻止 30 分钟”作为响应。


man*_*ica 5

使用POST。使用 GET 时,参数位于 URL 中,这是非常不安全的。虽然 https(您正在使用 https,对吧?)应该对所有内容进行端到端加密,但使用 GET 时,参数将在日志文件和用户浏览器中以纯文本形式显示(直到加载或重定向下一个页面)。