PHP:HTTP GET 和 POST 方法

HTTP GET 和 POST 方法用于从 Web 浏览器(客户端)通过超文本传输协议 (HTTP) 进行通信。

这些方法也可以用在服务器端的软件中。
完成此操作后,通常会从外部 Web 资源中获取数据。
大多数编程和脚本语言都有为此目的发送 HTTP 请求的方法。

从浏览器提交 HTML 表单时,我们通常会使用 POST 提交方法,因为与使用 GET 方法相比,这有几个优点。
提几个:

  • POST 不受 URL 限制,因为数据是发布而不是“请求”。
  • 发布的数据将被悄悄提交,不会在地址列中显示。
  • 发布的数据不会作为请求的 URL 的一部分显示在服务器日志文件中。

然而,一个不排除另一个。
例如,我们可以使用 POST 方法提交一个 HTML 表单,并且仍然在操作 URL 中使用 GET 参数。
这是完全有效的,有时甚至是可取的。

GET 和 POST 哪个更好

在大多数情况下,我们可能希望使用 POST 方法来提交表单。
这是因为 POST 在提交敏感数据时更安全。

登录表单应始终使用 POST 方法提交。
这可以避免在服务器日志文件中意外以明文形式记录用户密码。

但是,在某些情况下,使用 GET 和 POST 的组合实际上是有意义的。
表单仍将使用 POST 类型提交,但操作 URL 中的 URL 参数仍可访问。
我们可以通过提交之前的表单来测试这是如何工作的。

HTML 表单中的 GET 和 POST

默认情况下,将使用 GET 提交 HTML 表单,但我们可以使用 method 属性更改此设置。

下面的 HTML 表单使用 POST 方法向服务器端 PHP 脚本提交数据,脚本收到提交的数据后,将尝试对其进行验证并将其输出到浏览器供我们查看。

<form action="/Examples/submission_handler.php?action=edit" method="POST">
  <label>First name:</label>
  <input type="text" name="firstname" value="Rasmus">
  <label>Last name:</label>
  <input type="text" name="lastname" value="Lerdorf">
  <input type="submit" value="Submit">
</form>
日期:2020-06-02 22:17:27 来源:oir作者:oir