![]() |
1
332
使用
应该带您到确认页面,而不是简单地删除项目。这样避免事故要容易得多。
最后一个注意事项:
|
![]() |
2
187
简而言之
细节上 每个人都有一个合适的地方。即使你不跟随 RESTful 从学习REST和资源导向方法的工作原理中,可以学到很多东西。
一
安
这是有道理的,因为get用于 安全的 操作它们也自动 幂等元 . 通常,get用于检索资源(例如,堆栈溢出时的问题及其相关答案)或资源集合。
我知道这个问题是关于GET和POST的,但我会马上返回到POST。 通常,Put用于编辑资源(例如,在堆栈溢出时编辑问题或答案)。
通常,一篇文章会被用来创建一个新的资源,例如创建一个新的SO问题(尽管在某些设计中,一个Put也会被用于这个问题)。 如果你把这篇文章写了两遍,你就会产生两个新问题。
讨论 实际上,现代Web浏览器通常只支持可靠的get和post(您可以通过javascript调用执行所有这些操作,但是在表单中输入数据和按submit键时,通常有两个选项)。在一个RESTful应用程序中,post通常被重写,以提供put和delete调用。 但是,即使您不遵循RESTful原则,从使用GET检索/查看信息和使用POST创建/编辑信息的角度考虑也是很有用的。 您不应该将get用于更改数据的操作。如果一个搜索引擎搜索到一个链接到你的恶意操作,或客户端书签,它可能会带来很大的麻烦。 |
![]() |
3
72
如果您不介意请求被重复(即它不会改变状态),请使用get。 如果操作确实更改了系统状态,请使用POST。 |
![]() |
4
64
短版GET:通常用于已提交的搜索请求,或任何希望用户能够再次调出准确页面的请求。 GET的优点:
GET的缺点:
post:用于更高安全性的请求,其中数据可用于更改数据库或不希望有人添加书签的页面。 岗位优势:
岗位劣势:
较长版本直接从 Hypertext Transfer Protocol -- HTTP/1.1 :
|
![]() |
5
27
最重要的是 意思 GeT与Post之比:
|
![]() |
6
11
除了许多Web浏览器中的长度约束差异之外,还有一个语义差异。get应该是“安全的”,因为它们是只读操作,不会更改服务器状态。帖子通常会改变状态,并在重新提交时发出警告。搜索引擎的网络爬虫可能会发GET,但不应该发帖子。 如果要在不更改状态的情况下读取数据,请使用get;如果要更新服务器上的状态,请使用post。 |
![]() |
7
8
我的一般经验法则是在向服务器发出不改变状态的请求时使用GET。日志是为更改状态的服务器请求保留的。 |
![]() |
8
8
一个实际的区别是浏览器和Web服务器对URL中可以存在的字符数有限制。从应用程序到应用程序,这是不同的,但如果你有
另一个gotcha与get-他们得到索引的搜索引擎和其他自动系统。谷歌曾经有一个产品可以在你浏览的页面上预先获取链接,所以如果你点击这些链接,它们的加载速度会更快。它引起
专业
破坏有链接的网站
|
![]() |
9
7
如果希望URL反映页面状态,请使用get。这对于查看动态生成的页面很有用,如这里看到的页面。应该在表单中使用一个日志来提交数据,比如当我单击“发布您的答案”按钮时。它还生成一个更清晰的URL,因为它不会在路径之后生成参数字符串。 |
![]() |
10
5
因为get是纯粹的URL,所以它们可以被Web浏览器缓存,并且可以更好地用于像一致生成的图像这样的事情。(设置到期时间) Gravatar页面中的一个示例: http://www.gravatar.com/avatar/4c3be63a4c2f539b013787725dfce802?d=monsterid get可能会稍微提高性能,一些Web服务器在调用处理程序之前将post内容写入临时文件。 另一个需要考虑的是大小限制。get的上限是url的大小,标准是1024字节,但浏览器可能支持更多。 传输更多的数据应该使用一个日志来获得更好的浏览器兼容性。 正如另一个海报所写,即使低于这个限制也是一个问题,URL中的任何内容最终都可能出现在浏览器用户界面的其他部分,比如历史。 |
![]() |
11
4
你自己什么都做不了。关键是你不是 想象上的 修改HTTP GET上的服务器状态。HTTP代理假定,由于HTTP GET不修改状态,因此用户调用HTTP GET一次还是1000次都没有区别。使用这些信息,他们认为返回第一个HTTP GET的缓存版本是安全的。如果您违反了HTTP规范,就有可能在野外破坏HTTP客户机和代理。不要这样做: |
![]() |
12
4
这就进入了REST的概念,以及Web是如何被使用的。有一个优秀的 podcast 在软件工程无线电上,对GET和POST的使用进行了深入的讨论。 get用于从服务器中提取数据,不需要执行更新操作。其思想是,您应该能够反复使用相同的GET请求,并返回相同的信息。URL在查询字符串中包含get信息,因为它的目的是能够轻松地发送到其他系统和人员,比如在哪里找到某个东西的地址。 post应该被用于(至少是Web所基于的REST体系结构)将信息推送到服务器/告诉服务器执行操作。例如:更新此数据,创建此记录。 |
![]() |
13
4
1.3选择HTTP的快速检查表
使用get IF:
使用POST:
Source . |
![]() |
14
3
使用它更新状态-就像
|
![]() |
15
3
post可以移动大数据,而get不能。 但一般来说,这不是关于GET的一个缺点,而是一个惯例,如果你希望你的网站/webapp表现良好的话。 |
![]() |
16
3
从 RFC 2616 :
|
![]() |
17
2
当我不希望人们看到查询字符串或当查询字符串变大时,我使用post。另外,文件上传需要post。 我不认为使用get-though有什么问题,我将它用于简单的事情,在这些事情上保持查询字符串是有意义的。 使用GET将允许链接到一个特定的页面,也可以链接到无法使用POST的页面。 |
![]() |
18
2
post-get-put-delete的简单版本
|
![]() |
19
1
最初的意图是,GET用于获取数据,而POST则是任何东西。我使用的经验法则是,如果我要将任何东西发送回服务器,我就使用post。如果我只是调用一个URL来获取数据,我使用get。 |
![]() |
20
1
阅读 article about HTTP in the Wikipedia . 它将解释协议是什么以及它的作用:
和
W3C有一个名为 URIs, Addressability, and the use of HTTP GET and POST 这就解释了什么时候使用什么。引用
和
无论何时提交HTML表单,都是一个实践示例。您可以指定 邮递 或 得到 对于窗体操作。PHP将相应地填充$\u get和$\u post。 |
![]() |
21
1
在PHP中,
|
![]() |
22
1
从 w3schools.com :
在这里,我们区分了主要区别:
|
![]() |
23
0
一件重要的事情就是你提交的任何东西
|
![]() |
24
0
另一个区别是,POST通常需要两个HTTP操作,而GET只需要一个。 编辑:我应该澄清——对于常见的编程模式。一般来说,用一个笔直的HTML网页来回复一篇文章是一个有问题的设计,原因有很多,其中之一就是令人恼火的“你必须重新提交这个表单,你想这样做吗?”按下后退按钮。 |
![]() |
25
0
正如其他人回答的那样,GET对URL大小有限制,文件只能通过POST提交。 我想再加一个 可以 使用get向数据库添加内容,并使用post执行操作。当一个脚本收到一个帖子或一个GET,它可以做作者想要它做的任何事情。我认为缺乏理解是因为你选择的措辞或者你是如何阅读的。 剧本作者 应该 使用posts更改数据库,使用get仅检索信息。
脚本语言提供了许多访问请求的方法。例如,php允许使用
在Web编程中,有更多的解释空间。这是什么 应该 什么? 可以 是的,但哪一个更好往往会引起争论。幸运的是,在这种情况下,没有歧义。你 应该 使用日志更改数据,而您 应该 使用get检索信息。 |
![]() |
26
0
Gorgapor
|
![]() |
27
-1
HTTP Post数据对数据量没有指定的限制,因为不同的浏览器对GET有不同的限制。RFC2068声明:
具体地说,您应该为它们的用途提供正确的HTTP构造。HTTP GET不应该有副作用,可以通过HTTP代理等安全地刷新和存储。 当您要根据URL资源提交数据时,将使用HTTP Post。 使用HTTP GET的一个典型示例是搜索,即搜索?查询= MI+查询 使用HTTPPOST的一个典型示例是向在线表单提交反馈。 |
![]() |
masterach · 可观察对象是否发出get请求? 7 年前 |
![]() |
ChrisP777 · http请求等待服务器响应的时间太长 8 年前 |
![]() |
ikenator · 节点。js请求获取VAST标记 8 年前 |
![]() |
Miril Terolli · AJAX接收多个数据 9 年前 |
|
ka5050ro · 使用php将API数据放入表中 9 年前 |