使用GET或POST方法有什么区别?哪个更安全?他们每个人的(缺点)优点是什么?
GET
POST
这不是安全问题。HTTP 协议将 GET 类型的请求定义为幂等,而 POST 可能有副作用。用简单的英语来说,这意味着 GET 用于查看某些内容,而不更改它,而 POST 用于更改某些内容。例如,搜索页面应使用 GET,而更改密码的表单应使用 POST。
另外,请注意 PHP 有点混淆了这些概念。POST 请求从查询字符串和请求正文中获取输入。GET 请求只是从查询字符串中获取输入。所以 POST 请求是 GET 请求的超集;您可以$_GET在 POST 请求中使用,并且在其中包含具有相同名称的参数甚至可能是有意义的$_POST,$_GET这意味着不同的东西。
$_GET
$_POST
例如,假设您有一个用于编辑文章的表单。article-id 可能在查询字符串中(因此,可以通过 获得$_GET['id']),但假设您要更改 article-id。然后新的 id 可能会出现在请求正文 ( $_POST['id']) 中。好吧,也许这不是最好的例子,但我希望它能说明两者之间的区别。
$_GET['id']
$_POST['id']