我正在开发一项REST服务,允许用户根据发票上显示的几条信息(发票号和帐单邮编)索取其列表.
我读过无数文章和Stack Overflow关于何时使用GET以及何时使用POST的问题.总的来说,共同的共识是GET应该用于幂等操作,POST应该用于在服务器端创建某些东西的操作.但是,这篇文章:
http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post
因为我正在使用这两条信息作为验证用户身份的机制这一事实让我对这个特定场景使用GET提出质疑.我没有使用此特定方法调用更新服务器上的任何内容,但我也不一定要在URL中公开信息.
这是一个内部Web服务,只有调用该服务的前端是公开的,所以我不必担心在用户的浏览器历史记录中显示的URL.我唯一担心的是有人获得服务器日志访问的不太可能的事件,在这种情况下,我会遇到更大的问题.
出于安全原因,我倾向于POST; 然而,由于请求是幂等的,因此GET感觉就像是正确的方法.在这种情况下推荐的方法是什么?
独立于POST与GET,我建议不要将您的安全性作为简单的邮政编码和发票编号.我敢打赌,发票号码是连续的(或关闭),并且没有那么多的邮政编码 - 瞧,我有完全访问你的列表.
如果您正在使用其他身份验证方法(通常在HTTP标头中),那么您就是好的 - 如果您有一个发票号码,那么无关紧要,因此也可以使用GET.
如果你不是,那么我认为POST在暴露机密内容方面没有GET那么糟糕.
| 归档时间: |
|
| 查看次数: |
27059 次 |
| 最近记录: |