HTML格式(GET)中使用的方法与HTTP GET是否不同?

时间:2019-12-15 03:24:04

标签: html forms http get

嗨,我刚刚开始学习Web术语,直到现在我了解HTTP使用GET,POST,PUT,DELETE方法执行CRUD操作。在网站上,我读到GET用于从服务器获取数据,而POST用于将数据发送到服务器。

但是在表单中,为什么我们同时使用GET和POST将表单数据发送到服务器?不是应该GET从服务器获取数据而不是发布数据吗? 我的理解中缺少什么?

1 个答案:

答案 0 :(得分:2)

无论使用哪种方法,总会有一个HTTP request 和一个 response 。这些方法用于指示您正在发出的请求的类型。 POST和PUT请求还可以选择包含请求主体(您正在发送的某些信息或附件,例如表单数据或文件上传)。

考虑发出GET请求的情况:

GET /articles

这会向服务器请求/articles资源。现在,假设您要发送一些参数。您可以包含一个查询字符串,这是一种常见约定:

GET /articles?date=2019-12-14

HTTP协议本身并不真正了解或关心或指定资源是什么路径,这取决于服务器来决定如何处理它。在这种情况下,您的服务器可以调用商品的处理程序,并仅在2019年12月14日查询商品。

默认情况下,如果HTML页面上有使用GET方法的表单,则所有表单参数都将在查询字符串中发送。

这很好,因为您并没有真正尝试将数据放置或发布到特定位置。实际上,您实际上是在尝试从某个位置获取数据,并且只是向服务器添加了一些有关如何处理请求的额外参数/指令。

要重申,无论您有什么类型的请求,您总是以HTTP请求的形式发送一些信息。而且,服务器将始终以HTTP响应的形式发送回数据。