据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
据我所知,有三种类型:
不要使用GET和POST 不要使用POST而使用GET 你用哪一个都不重要。
我对这三种情况的假设正确吗?如果有,每个案例都有哪些例子?
当前回答
POST可以移动大数据,而GET不能。
但一般来说,这不是关于GET的缺点,而是一种惯例,如果你想让你的网站/web应用程序表现良好。
看看http://www.w3.org/2001/tag/doc/whenToUseGet.html
其他回答
这就涉及到REST的概念以及web是如何被使用的。在软件工程电台上有一个很好的播客,对Get和Post的使用进行了深入的讨论。
Get用于从不需要更新操作的服务器中提取数据。其思想是,您应该能够反复使用相同的GET请求并返回相同的信息。URL在查询字符串中有get信息,因为它意味着能够轻松地发送到其他系统,人们喜欢在哪里找到一些东西的地址。
Post应该被用于(至少在web基于的REST架构中)将信息推送到服务器/告诉服务器执行一个操作。例如:更新此数据,创建此记录。
当您希望URL反映页面的状态时,请使用GET。这对于查看动态生成的页面非常有用,比如这里看到的页面。POST应该在表单中用来提交数据,就像我点击“POST Your Answer”按钮一样。它还生成了一个更干净的URL,因为它没有在路径后生成参数字符串。
使用POST进行破坏性操作,例如创建(我知道这很讽刺)、编辑和删除,因为您不能在浏览器的地址栏中点击POST操作。当允许一个人调用一个动作是安全的时候使用GET。URL是这样的:
http://myblog.org/admin/posts/delete/357
应该带你到一个确认页面,而不是简单地删除项目。这样避免事故要容易得多。
POST也比GET更安全,因为您没有将信息粘贴到URL中。因此,使用GET作为收集密码或其他敏感信息的HTML表单的方法并不是最好的主意。
最后一点注意:POST可以比GET传输更多的信息。“POST”没有传输数据的大小限制,而“GET”限制为2048个字符。
正如其他人回答的那样,get对url大小有限制,文件只能通过post提交。
我想补充的是,一个人可以添加东西到一个数据库的get和执行操作与发布。当脚本接收到post或get命令时,它可以执行作者希望它执行的任何操作。我相信缺乏理解来自于这本书选择的措辞或你的阅读方式。
脚本作者应该使用posts来更改数据库,而只使用get来检索信息。
脚本语言提供了许多访问请求的方法。例如,PHP允许使用$_REQUEST来检索post或get。应该避免使用更具体的$_GET或$_POST。
在web编程中,有更多的解释空间。一个人应该做什么,可以做什么,但哪一个更好往往是有争议的。幸运的是,在这种情况下,没有歧义。您应该使用posts来更改数据,并且应该使用get来检索信息。
一个实际的区别是浏览器和网络服务器对URL中可以存在的字符数量有限制。每个应用程序都不一样,但如果你的表单中有文本区域,它肯定是可以达到的。
get的另一个问题是,它们会被搜索引擎和其他自动系统索引。谷歌曾经有一个产品,它可以在你正在浏览的页面上预取链接,所以如果你点击这些链接,它们会更快地加载。它对那些有delete.php之类链接的网站造成了严重破坏。Id =1 -人们失去了他们的整个网站。