在处理表格和数据时,有一些HTTP 方法可以帮助收集和发送数据。这些方法有助于服务器和客户端之间通过数据的传输进行互动。这些方法包括两种不同的请求方法:GET 和POST。
HTTP协议支持各种涉及数据操作的方法,并在数据发送前使用URL编码方案进行编码。POST 方法在信息体中提供从客户端到服务器的信息,而GET 方法则在URL中包括所有需要的数据。 编码之后,信息就会被传输到服务器上。在这篇文章中,我们将讨论GET和POST的区别,以及它们是如何使用的,但在此之前,让我们分别了解一下这两种方法的概念。
什么是GET方法?
GET方法用于获取用户输入的数据,但它有一个缺点,即它将用户的输入附加到URL中,而URL的长度是有限的。该方法通常用于提交表格,以便用户可以将结果加入书签,或者用于发送不安全的数据。你不能通过这种方法发送密码或敏感信息。
此外,你也不能用这种方法来发送图片或二进制数据形式的Word文档。要访问所发送的信息,可以使用**$_GET**语法,这是一个关联数组。
例子
<!DOCTYPE HTML>
<?php
if( $_GET["name"] || $_GET["city"] ) {
echo "Welcome ". $_GET['name']. "<br />";
echo "Your city is: ". $_GET['city']. ".";
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="GET">
Name: <input type="text" name="name"><br>
City: <input type="text" name="city"><br>
<input type="submit">
</form>
</body>
</html>
输出

提交后的URL看起来像这样。

什么是POST方法?
POST方法将表单的数据附加到HTTP的正文中,其方式是数据不显示在URL中,而且对要发送的数据大小没有限制。这种方法主要用于发送二进制数据和提交密码等安全信息,因为这种方法要通过HTTP头,因此安全性取决于HTTP协议。因此,这种方法比GET方法更安全,发送的数据可以通过**$_POST**访问。
例子
<!DOCTYPE HTML>
<?php
if( $_GET["name"] || $_GET["password"] ) {
echo "Welcome ". $_GET['name']. "<br />";
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Name: <input type="text" name="name"><br>
Password: <input type="text" name="password"><br>
<input type="submit">
</form>
</body>
</html>
输出

提交后的URL看起来像这样。

GET和POST之间的区别是什么?
当我们分别解释这两种方法时,我们看到GET方法的参数显示在URL中,而POST方法的参数则没有出现在URL中。这显示了POST方法的安全性,在提交重要信息时,最好使用POST方法而不是GET方法。
此外,GET方法主要用于获取数据,而POST则用于操作存储在服务器中的数据。POST方法可以发送无限量的数据,而GET方法有一个特定的限制,即2048个字符,而且它是可以缓存的,而POST则是不可缓存的。
总结
HTTP方法用于处理数据,发送和接收数据以及进行操作。有两种特殊的方法用于HTTP请求。GET和POST,它们在各方面都有不同的区别。在这篇文章中,我们分别讨论了每种方法,然后讨论了它们之间的区别。
大多数情况下,为了发送安全数据,我们使用POST方法,因为它不显示在URL中传递的参数,因此被证明是更安全的安全。我们进一步讨论了其中一个方法是如何对发送的数据进行限制的。我希望你现在对使用哪种方法有了更好的理解。