Web 服务器(本地主机)中的 POST 是如何工作的?
How does POST in web server (localhost) work exactly?
我是网络服务器项目的新手,我似乎误解了 POST 的基本概念,请帮忙。
我认为 POST 是 post 将数据写入服务器中的文件,但显然其他人认为情况并非如此。我错了什么?
POST 数据(例如 ajax post)到底去哪儿了? post url 应该指向什么文件?
以及它是如何保存的,以便您下次关闭浏览器并再次访问它?
A POST 并不总是文件上传。事实上,根据我的经验,这种情况很少见。
POST 请求用于将数据发送到正文中的 Web 服务器,而不是像 GET 请求那样在 URL 中作为参数。此正文内容可以是您不想放入 URL 中的参数(例如登录表单的用户名和密码)或最好不要放在 URL 中的较大项目(例如文件上传) .
无论哪种方式,您都需要 Web 服务器上的某些东西来侦听请求、处理它,然后 return 一个结果。如果它是本地主机或真实服务器,这是相同的。处理过程可能涉及确认用户名和密码以及 return 使用 cookie,或者可能涉及将文件保存在某处以便稍后检索 - 这完全取决于您的应用程序。
POST 只是向服务器发送数据的方法之一(或 'verbs')。
除了常用的GET和POST,还有PUT和DELETE等一些方法。正式上应该使用PUT存储信息,DELETE删除信息,虽然在实践中,人们倾向于使用GET通过url中的查询字符串参数发送各种命令,并在需要时使用POST想要 'hide' 那个数据(也就是说,不在 url 中显示它),或者当他们需要 post 更大的数据块时,比如上传的文件。
正式地,要删除 document1,您将正式调用 DELETE:
DELETE http://example.com/document1
但大多数时候,人们会将其实现为
GET http://example.com/document1?action=delete
或
POST GET http://example.com/document1
action=delete
.
但即使您 POST 或 PUT 文件,也不意味着该文件会自动存储在服务器上。这些方法只是将信息发送到服务器并告诉服务器您希望发生什么的方法。服务器如何处理这些请求完全取决于它是如何实现的。通常,您需要一些服务器端脚本或应用程序来处理请求,并且 - 例如 - 将 posted 数据存储在文件或数据库中。
有关方法列表及其说明,请参阅 HTTP request methods on Wikipedia。
什么是 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>
并且您想对表格中的数据做一些整洁的事情 POST。单击提交按钮时会发生这种情况。表单将执行的操作将 运行 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,然后将数据保存到一个session中。
开始会话
session_start();
$name = $_POST['name'];
array_push($_SESSION['name'], $name);
print_r($_SESSION['name']);
此时只要我们有
我们去的任何页面
session_start();
我们可以调用存储在 SESSION 中的任何内容。您甚至可以将更多数据推送到 SESSION 并以相同的方式调用它。
希望对您有所帮助!
参考文献
我是网络服务器项目的新手,我似乎误解了 POST 的基本概念,请帮忙。
我认为 POST 是 post 将数据写入服务器中的文件,但显然其他人认为情况并非如此。我错了什么?
POST 数据(例如 ajax post)到底去哪儿了? post url 应该指向什么文件? 以及它是如何保存的,以便您下次关闭浏览器并再次访问它?
A POST 并不总是文件上传。事实上,根据我的经验,这种情况很少见。
POST 请求用于将数据发送到正文中的 Web 服务器,而不是像 GET 请求那样在 URL 中作为参数。此正文内容可以是您不想放入 URL 中的参数(例如登录表单的用户名和密码)或最好不要放在 URL 中的较大项目(例如文件上传) .
无论哪种方式,您都需要 Web 服务器上的某些东西来侦听请求、处理它,然后 return 一个结果。如果它是本地主机或真实服务器,这是相同的。处理过程可能涉及确认用户名和密码以及 return 使用 cookie,或者可能涉及将文件保存在某处以便稍后检索 - 这完全取决于您的应用程序。
POST 只是向服务器发送数据的方法之一(或 'verbs')。
除了常用的GET和POST,还有PUT和DELETE等一些方法。正式上应该使用PUT存储信息,DELETE删除信息,虽然在实践中,人们倾向于使用GET通过url中的查询字符串参数发送各种命令,并在需要时使用POST想要 'hide' 那个数据(也就是说,不在 url 中显示它),或者当他们需要 post 更大的数据块时,比如上传的文件。
正式地,要删除 document1,您将正式调用 DELETE:
DELETE http://example.com/document1
但大多数时候,人们会将其实现为
GET http://example.com/document1?action=delete
或
POST GET http://example.com/document1
action=delete
.
但即使您 POST 或 PUT 文件,也不意味着该文件会自动存储在服务器上。这些方法只是将信息发送到服务器并告诉服务器您希望发生什么的方法。服务器如何处理这些请求完全取决于它是如何实现的。通常,您需要一些服务器端脚本或应用程序来处理请求,并且 - 例如 - 将 posted 数据存储在文件或数据库中。
有关方法列表及其说明,请参阅 HTTP request methods on Wikipedia。
什么是 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>
并且您想对表格中的数据做一些整洁的事情 POST。单击提交按钮时会发生这种情况。表单将执行的操作将 运行 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,然后将数据保存到一个session中。 开始会话
session_start();
$name = $_POST['name'];
array_push($_SESSION['name'], $name);
print_r($_SESSION['name']);
此时只要我们有
我们去的任何页面 session_start();
我们可以调用存储在 SESSION 中的任何内容。您甚至可以将更多数据推送到 SESSION 并以相同的方式调用它。
希望对您有所帮助!
参考文献