使用 GET 方法的优缺点

由于 GET 方法发送的数据显示在 URL 中,因此可以使用特定查询字符串值为页面添加书签。

GET 方法不适合传递用户名和密码等敏感信息,因为这些信息在 URL 查询字符串中完全可见,并且可能作为访问过的页面存储在客户端浏览器的内存中。

由于 GET 方法将数据分配给服务器环境变量,因此 URL 的长度是有限的。
因此,要发送的总数据是有限制的。

GET方法 与 POST 方法比较

GETPOST
按后退键或者重新加载无害数据将被重新提交
(浏览器应提醒用户
数据将被重新提交)
书签可以加书签不能加书签
缓存可以缓存未缓存
编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded 或者 multipart/form-data。
对二进制数据使用多部分编码
历史记录参数保留在浏览器历史记录中参数不保存在浏览器历史记录中
数据长度限制是的,发送数据时,
GET方法将数据添加到URL;
并且
URL 长度有限制(最大 URL 长度为 2048 个字符)
没有限制
数据类型限制只允许使用 ASCII 字符没有限制。也允许二进制数据
安全性
POST相比,GET 更少发送数据是 URL 的一部分
POST 比 GET 安全一些,因为
参数不会存储
在浏览器历史记录或者 Web 服务器日志中
可见URL 中的数据对所有人可见URL中不显示数据
https://onitroad.com 更多教程

POST方法

POST 方法通过 HTTP 标头传输信息。
信息按照 GET 方法中的描述进行编码,并放入名为“QUERY_STRING”的标头中。

POST 方法对要发送的数据大小没有任何限制。

POST 方法可用于发送 ASCII 和二进制数据。

POST 方法发送的数据通过 HTTP 标头,因此安全性取决于 HTTP 协议。
通过使用安全 HTTP,我们可以确保信息是安全的。

PHP 提供了$_POST关联数组来使用POST 方法访问所有发送的信息。

<!DOCTYPE html>
<html lang="en">
<head>
    <title> PHP POST 方法示例</title>
</head>
<body>
<?php
if(isset($_POST["name"])){
    echo "<p>Hi, " . $_POST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">名字:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="提交">
</form>
</body>
PHP 中的 GET 和 POST 方法有什么区别?

HTTP

超文本传输协议 (HTTP - Hypertext Transfer Protocol) 旨在实现客户端和服务器之间的通信。

HTTP 用作客户端和服务器之间的请求-响应协议。

Web 浏览器可能是客户端,而托管网站的计算机上的应用程序可能是服务器。

客户端(浏览器)向服务器提交 HTTP 请求;然后服务器向客户端返回响应。

客户端(浏览器)向服务器提交 HTTP 请求;然后服务器向客户端返回响应。
响应包含有关请求的状态信息,也可能包含请求的内容。

浏览器客户端可以通过两种方式向 Web 服务器发送信息。

  • GET从指定资源请求数据
  • POST向指定资源提交要处理的数据

GET方法

GET 方法发送添加到页面请求的编码用户信息。
页面和编码信息由?字符 分隔。

http://www.onitroad.com/index.htm?name1=value1&amp;name2=value2
  • GET 请求可以被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可以添加书签
  • 在处理敏感数据时永远不要使用
  • GET 请求 GET 请求有长度限制
  • GET 请求应该只用于检索数据
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <title> PHP GET 方法示例</title>
</head>
<body>
<?php
if(isset($_GET["name"])){
    echo "<p>Hi, " . $_GET["name"] . "</p>";
}
?>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">苗子:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="提交">
</form>
</body>
日期:2020-09-17 00:10:24 来源:oir作者:oir