84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Was ist der Unterschied zwischen der Verwendung der GET 或 POST-Methode? Welches ist sicherer? Was sind ihre jeweiligen Vor- und Nachteile?
GET
POST
(Ähnliche Frage)
当用户在表单中输入信息并单击“提交”时,可以通过两种方式将信息从浏览器发送到服务器:在 URL 中,或在 HTTP 请求正文中。
前面示例中使用的 GET 方法将名称/值对附加到 URL。不幸的是,URL 的长度是有限的,因此此方法仅在参数很少的情况下才有效。如果表单使用大量参数,或者参数包含大量数据,则 URL 可能会被截断。此外,在 URL 上传递的参数在浏览器的地址字段中可见,而不是显示密码的最佳位置。
GET 方法的替代方法是 POST 方法。此方法将名称/值对打包在 HTTP 请求的正文中,这使得 URL 更清晰,并且对表单输出没有大小限制。它也更安全。
这不是安全问题。 HTTP 协议将 GET 类型的请求定义为幂等,而 POST 可能有副作用。用简单的英语来说,这意味着 GET 用于查看某些内容而不更改它,而 POST 用于更改某些内容。例如,搜索页面应使用 GET,而更改密码的表单应使用 POST。
另外,请注意 PHP 有点混淆了这些概念。 POST 请求从查询字符串和请求正文获取输入。 GET 请求只是从查询字符串获取输入。所以 POST 请求是 GET 请求的超集;您可以在 POST 请求中使用 $_GET,甚至可以在 $_POST 和 $_GET 中使用相同名称的参数这意味着不同的事情。
$_GET
$_POST
例如,假设您有一个用于编辑文章的表单。文章 ID 可能位于查询字符串中(因此可以通过 $_GET['id'] 获得),但假设您想要更改文章 ID。然后,新的 ID 可能会出现在请求正文中 ($_POST['id'])。好吧,也许这不是最好的例子,但我希望它能说明两者之间的区别。
$_GET['id']
$_POST['id']
当用户在表单中输入信息并单击“提交”时,可以通过两种方式将信息从浏览器发送到服务器:在 URL 中,或在 HTTP 请求正文中。
前面示例中使用的 GET 方法将名称/值对附加到 URL。不幸的是,URL 的长度是有限的,因此此方法仅在参数很少的情况下才有效。如果表单使用大量参数,或者参数包含大量数据,则 URL 可能会被截断。此外,在 URL 上传递的参数在浏览器的地址字段中可见,而不是显示密码的最佳位置。
GET 方法的替代方法是 POST 方法。此方法将名称/值对打包在 HTTP 请求的正文中,这使得 URL 更清晰,并且对表单输出没有大小限制。它也更安全。
这不是安全问题。 HTTP 协议将 GET 类型的请求定义为幂等,而 POST 可能有副作用。用简单的英语来说,这意味着 GET 用于查看某些内容而不更改它,而 POST 用于更改某些内容。例如,搜索页面应使用 GET,而更改密码的表单应使用 POST。
另外,请注意 PHP 有点混淆了这些概念。 POST 请求从查询字符串和请求正文获取输入。 GET 请求只是从查询字符串获取输入。所以 POST 请求是 GET 请求的超集;您可以在 POST 请求中使用
$_GET
,甚至可以在$_POST
和$_GET
中使用相同名称的参数这意味着不同的事情。例如,假设您有一个用于编辑文章的表单。文章 ID 可能位于查询字符串中(因此可以通过
$_GET['id']
获得),但假设您想要更改文章 ID。然后,新的 ID 可能会出现在请求正文中 ($_POST['id']
)。好吧,也许这不是最好的例子,但我希望它能说明两者之间的区别。