Forms 操作POST/GET in表单提交

Forms 操作POST/GET in表单提交,forms,http,post,get,Forms,Http,Post,Get,GET用于检索远程数据,POST用于插入/更新远程数据 但是当我们使用发送数据时,我们可以在操作中输入POST或GET,在这两种情况下,数据都会被发送。在这种情况下,不会检索或插入数据,只会将数据发送到服务器。 中的这些GET和POST方法是否与上述描述中的GET和POST方法不同?表单操作将告诉浏览器如何发送表单数据 在GEt的情况下,表单数据将作为查询字符串参数显示,在POST的情况下,表单数据将作为multipart/formdatabody显示。当然,这也会改变查询方法(如GET或POS

GET
用于检索远程数据,
POST
用于插入/更新远程数据

但是当我们使用
发送数据时,我们可以在
操作中输入POST或GET,在这两种情况下,数据都会被发送。在这种情况下,不会检索或插入数据,只会将数据发送到服务器。

中的这些GET和POST方法是否与上述描述中的GET和POST方法不同?

表单操作将告诉浏览器如何发送表单数据

在GEt的情况下,表单数据将作为查询字符串参数显示,在POST的情况下,表单数据将作为
multipart/formdata
body显示。当然,这也会改变查询方法(如
GET
POST

这适用于协议的客户端部分

现在,在服务器端
获取
发布
的行为应该不一样

  • GET
    是独立的
  • POST
    不可用
这意味着服务器(或服务器链,您可以在链中有一个反向代理缓存)必须预期POST正在对应用程序数据执行某些操作,因此POST后的应用程序或状态不同(可能您现在有一个会话,或者您刚刚删除了一些内容,或者添加了一些内容)。结束这意味着你不能在没有风险的情况下重新播放帖子两次。事实上,任何人都不应该重播帖子,这是一个动作

如果您的表单是以
GET
的形式发布的,那就不同了。您只需要请求一个url(在url的查询字符串中包含您的表单数据),就可以得到一个结果,但是重复多次相同的url不应该是一个问题,我们还可以缓存结果,并为请求相同url的人重用此缓存结果(因此表单中有相同的元素,这些元素现在在url中)

因此,如果方法为GET,则应用程序不能执行数据更改。不能删除某些内容,也不能创建某些内容,等等


那么,为什么要以GET的形式发送表单呢?可能只是为了获得一个过滤后的页面结果,每个人都应该使用相同的过滤器获得相同的页面结果。但肯定不是为了发布注册表单(或管理员级别的删除此用户操作).

感谢您的回复。据我所知,GET不用于更新或写入数据,而只是用于过滤(获取一些数据)。