我是网络服务器项目的新手,我似乎误解了POST的基本概念,请帮忙。
我认为POST是在服务器上将数据发布到文件中,但显然根据其他人的说法并非如此。我错了什么?
POST数据(例如ajax帖子)到底在哪里?帖子网址应该导致什么文件? 以及如何保存它以便您可以关闭浏览器并在下次再次访问它?
答案 0 :(得分:0)
POST并不总是文件上传。事实上,根据我的经验,它很少。
POST请求用于将数据发送到正文中的Web服务器,而不是作为GET请求之类的参数在URL中发送。此正文内容可能是您不希望放入网址的参数(例如,登录表单的用户名和密码),也可能是不能放在网址中的较大项目(例如文件上传)。
无论哪种方式,您都需要Web服务器上的某些内容来侦听请求,处理请求,然后返回结果。如果是本地主机或真实服务器,则相同。处理可能涉及确认用户名和密码并返回cookie,或者可能涉及将文件保存在某处以便以后检索 - 这完全取决于您的应用程序。
答案 1 :(得分:0)
POST只是将数据发送到服务器的方法之一(或'动词')。
除了常用的GET和POST之外,还有PUT和DELETE以及其他一些方法。正式地说你应该使用PUT来存储信息和DELETE来删除信息,虽然在实践中,人们倾向于使用GET通过url中的查询字符串参数发送各种命令,并在他们想要隐藏时使用POST# 39;该数据(即,不在网址中显示),或者当他们需要发布更大的数据块时,例如上传的文件。
正式地说,要删除document1,您将正式进行DELETE调用:
DELETE http://example.com/document1
但大多数时候,人们会将其实现为
GET http://example.com/document1?action=delete
或
POST GET http://example.com/document1
action=delete
.
但即使你发布文件或发送文件,也不意味着该文件会自动存储在服务器上。这些方法只是将信息发送到服务器并告诉服务器您希望发生什么的方法。服务器如何完全处理这些请求取决于它的实现方式。通常,您需要一些服务器端脚本或应用程序来处理请求,并将实例存储的数据存储在文件或数据库中。
有关方法及其说明的列表,请参阅HTTP request methods on Wikipedia。
答案 2 :(得分:0)
什么是POST?
The POST method does not have any restriction on data size to be sent.
The POST method can be used to send ASCII as well as binary data.
The data sent by POST method goes through HTTP header so security depends on HTTP protocol. By using Secure HTTP you can make sure that your information is secure.
The PHP provides $_POST associative array to access all the sent information using POST method.
从您所在的页面开始,POST
用于通过HTTP header
因此,您的home.php page
<form action ="script.php" method = "POST">
Name: <input type = "text" name ="name" />
Age: <input type = "text" name ="age" />
<input type = "submit" />
</form>
你想要做一些整齐的数据,这些数据将与表格一起发布。单击提交按钮时会发生这种情况。表单将采取的操作将运行script.php文件。这意味着我们将在script.php页面上放置一个php脚本,这样当我们的表单被提交时,脚本页面将被激活,其上的脚本将执行我们想要的任何操作!
在我们的例子中,我们将获取POST
数据并将其转换为变量。
$myName = $_POST['name']; //this is the name ="name" in form
$myAge = $_POST['age']; //this is the name ="age" in form
现在如果我们想要使用这些数据,我们可以将它回显到屏幕
echo $myName;
echo $myAge;
现在假设我们要保存这些数据,以便我们再次使用它... 我们有选项,一种方法是将其保存到数据库中。但我们会再做一次。
这次我们可以启动会话,然后将数据保存到会话中。 开始会话
session_start();
$name = $_POST['name'];
array_push($_SESSION['name'], $name);
print_r($_SESSION['name']);
此时,只要我们有
,我们就会去任何页面 session_start();
我们可以调用我们在SESSION中存储的任何内容。您甚至可以将更多数据推送到SESSION并以相同方式调用它。
我希望这有帮助!
引用