iOS开发:在发出POST请求时,如果我在URL中包含参数真的很重要吗?

时间:2011-05-05 18:34:03

标签: iphone ios ipad rest

我在我的iOS应用程序中使用ASIHTTPRequest lib来向Web应用程序发出REST请求。在发出各种请求时,我正在尽力使用正确的动词(GET,POST,PUT,DELETE),但在发出POST请求时,我不确定我是否理解为什么重要的是如果我在POST请求或URL。它有两种方式,所以我为什么要在POST请求中包含参数而不是仅仅将它们包含在URL中?根据我的理解,在POST请求中包含参数的唯一原因是为了防止它们在URL中可见,以防有人正在看你的肩膀,或类似的东西。但是,如果我从我的iOS应用程序发出POST请求并且没有涉及浏览器,那么我做这个方式真的很重要吗?

非常感谢你的智慧,我还在学习!

2 个答案:

答案 0 :(得分:2)

使用POST请求时,最好将参数放在数据中而不是URL中。在您的情况下,它可以将它放在URL中,但并非总是如此。某些脚本会希望参数位于特定位置,如果不存在则不会找到它们。至于POST有什么用处,它允许您发送更多数据。 URL的长度限制为255个字符,因此如果要发送更多数据,则需要使用其他方法。 POST请求中的数据也不需要编码以与URL规范兼容。

答案 1 :(得分:-1)

  

据我了解,在POST请求中包含参数的唯一原因是为了防止它们在URL中显示,以防有人看到你的肩膀,或类似的东西。

你误解了它。

还有其他问题。如果您的网站根据GET请求更改数据,那么垃圾邮件程序,搜索引擎,浏览器预取程序和其他自动化工具可能会触发潜在的破坏性数据更改。

如果端点不在您的控制之下,则完全有可能它甚至不接受参数作为GET参数。大多数API需要正确使用GET与POST动词。