是否可以进行静默/隐藏的GET请求


Are silent/hidden GET requests possible?

我这样做GET请求:

http://www.smurf.com/path/?var=val

这会显示在用户的URL中。当然,我在几乎所有的主要网站上都能看到这一点。

但我只是好奇是否有办法绕过它。这似乎有点丑陋,对于非程序员来说没有必要去看。

如果没有最新的内容,那么在完成后是否计划删除get请求语法?

所以只有

http://www.foo.com/path/

在请求之后。

您似乎想要执行POST请求。POST请求的工作原理,在PHP中,与GET请求相同,只需使用$_POST超全局而不是$_GET超全局来获取POST请求参数。

在POST请求中,数据就像GET一样发送(有一些可忽略的差异),但它在URL中不可见,因此它完全符合您想要的描述。发送类似GET的数据,但用户不会在URL中看到它。

HTML表单示例:

<form method="post" action="handler.php">
    <input type="text" name="username"></input>
</form>

然后,如果用户提交了此表单,您可以像获取get一样,在PHP中获得post参数"username"。

<?php
   $username = $_POST["username"];
?>

那就按你的喜好使用吧!

此外,如果我不提及POST/GET请求的预期用途,那就太失职了。传统上,POST请求应该在数据被发送到服务器以便稍后存储/使用时使用,例如在数据库或在线论坛中。或者,GET请求应该用于从服务器请求("获取")数据,而不是提供将要存储的数据。以这种方式使用请求是一种最佳实践,但经常被忽视,因为它不是由语言强制执行的,而是一种原则。

否。这就是POST请求的作用。如果你想让你的URL更美观,我建议(根据你的服务器)寻找一种干净的URL的方法。

例如,在Apache中,可以使用mod_rewrite模块在.htaccess中执行此操作。你可以在这里看到关于它的教程。