post 与 get 有什么区别啊?

如题所述

一、区别与应用: Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下: 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。 5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 6、Get是Form的默认方法。 二、从HTML中发送数据,在ASP中如何接收? 在form表单的action属性值里面有一个相对路径指向asp文件。就是用这个asp文件来接收和处理的。参考资料: http://mydeman.blogchina.com/2665932.html
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-17
两者的区别需要通过提交表单后才看得出来,主要是在数据发送方式和接收方式上。
具体步骤:
Post和Get都是表单属性Method的可选值,Method的默认值为Get,两者的主要区别在于:
1.在客户端,Get方式在通过URL
一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中,用Get方式就比用Post好。本例中用到的表单的属性解释(ASP部分请参考第四部分):
Get把参数添加到action属性指定的地址中,并以锚方式打开。
Post通过HTTP post处理发送数据。

方式提交表单后的地址栏不变

2.在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式提交的数据只能用Request.Form来获取:

<%@language="VBScript" Codepage="936"%>
<html>
<head>
<title> 表单提交方式测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form method="post" action="<%=Request.ServerVariables("Script_Name")%>">
提交数据:
<input name="oStr" type="text">
<br>
提交方式:
<select name="select" onchange="this.form.method=this.value">
<option value="Post" selected>Post</option>
<option value="Get">Get</option>
</select>
<br>
<input type="submit" name="Submit" value="提交">
</form>
<%
if Request("Submit")<>"" then
Response.Write "通过"&Request.ServerVariables("Request_Method")&"方式提交的数据为:"
if Request.ServerVariables("Request_Method")="GET" then
Response.Write Request.QueryString("oStr")
else
Response.Write Request.Form("oStr")
end if
end if
%>
</body>
</html>

注意:虽然两种提交方式可以统一用Request("oStr")来获取提交数据,但是这样对程序效率有影响,不推荐使用。本回答被网友采纳
第2个回答  2017-07-13
GET用于信息获取
POST表示可能修改变服务器上的资源的请求
第3个回答  2020-10-03