发出以下POST请求是不好的做法:
/test?a=1&b=2 POST data: c=3&d=4
请注意,2个参数是URL的一部分,2个参数是POST内容的一部分.
另外,还是建议遵循以下规则:
GET请求:从服务器检索内容但不更改服务器上的任何内容.
POST请求:将内容发布到服务器,这可能会修改服务器上的数据
我问,因为我在网上看到了一些东西.
劳伦特卢斯
是的,您的假设是正确的.您应该对如何传递参数或要求传递参数保持一致,但实际上不会造成任何伤害.
GET操作应该是安全操作,不执行任何副作用(除了缓存等),因此它们很容易被代理等缓存.另一方面,POST操作可能会产生副作用.
我建议阅读HTTP协议上的Wikipedia条目:
得到
请求指定资源的表示.请注意,GET不应用于导致副作用的操作,例如使用它在Web应用程序中执行操作.其中一个原因是机器人或爬虫可以任意使用GET,这不应该考虑请求应该引起的副作用.请参阅以下安全方法.
POST
将要处理的数据(例如,从HTML表单)提交到所标识的资源.数据包含在请求正文中.这可能导致创建新资源或更新现有资源或两者.
还有其他操作(例如HEAD,PUT,DELETE),如果您正在设计API,则应考虑使用它们.这些在RESTful API设计中有很多讨论.