在我的框架的设计过程中,我想到了将POST和GET参数合并为一个单独的$ parameters变量.
开发人员的优势:框架过滤所有参数值以再次保护XSS攻击(即有趣的孩子插入错误的javascript代码以将访问者重定向到垃圾邮件站点)以及其他类型的有用验证/过滤.
但像往常一样:分离POST和GET是否有任何真正的优势,而不是因为它们来自不同的来源它们只是不同?
我的意思是:那有关系吗?当POST参数与GET参数同名时,两者都真的被使用,它会在任何时候都是"好设计"吗?在我看来这很难看,但也许有人有一个很好的解释为什么我甚至不应该尝试合并POST和GET.
在任何情况下我都会认为POST会覆盖GET.我希望得到诚实的答案:-)
POST
和GET
请求有不同的语义.维基百科上有简短描述.基本上是一个GET
请求
不应该用于导致副作用的操作,例如使用它在Web应用程序中执行操作.其中一个原因是机器人或爬虫可以任意使用GET,这不应该考虑请求应该引起的副作用.
请注意,这不是HTTP协议强制执行的,它是您的应用程序必须确保的.因此,您应该在框架中分离不同的HTTP谓词.
举例说明如果GET
请求不是简单地返回具有上述限制的资源,那么可能会发生这样的情况:Well-Intentioned Destruction.