post和get传值的区别

页面传值... 页面传值 展开
 我来答
园林植物手册
高粉答主

2018-12-01 · 关注我不会让你失望
知道答主
回答量:191
采纳率:100%
帮助的人:9.4万
展开全部

一、特性不同:

Get请求是将数据添加到URL中并传递到服务器,通常利用一个问号“?”代表URL地址的结尾与数据参数的开端。Post请求数据是放在HTTP主体中的,其组织方式不只一种,有"&"连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。

二、传输方式不同:

get方式把参数数据列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段分别对应,在URL中可以看到。post方式通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。

三、服务端获取数据方式不同:

get方式是服务器端用Request.QueryString获取变量的值。post方式是务器端用Request.Form获取提交的数据。

四、传输数据量不同:

get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般默认为不受限制。但实际上会因为服务器的不同有所差异。

五、安全性不同:

由于get方式传递的参数可以在页面上看见,所以get安全性非常低。Psot方式传递的参数用户不可见,因此post安全性较高。

香料魔法
2018-11-12 · TA获得超过2.2万个赞
知道答主
回答量:218
采纳率:60%
帮助的人:21.9万
展开全部

1、 传输方式不同

get方式:把参数数据列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段分别对应,在URL中可以看到。

post方式:通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

2、 服务端获取数据方式不同

get方式:服务器端用Request.QueryString获取变量的值。

post方式:服务器端用Request.Form获取提交的数据。

3、传输数据量不同

get传送的数据量较小,不能大于2KB。

post传送的数据量较大,一般默认为不受限制。但实际上会因为服务器的不同有所差异。

4、安全性

由于get方式传递的参数可以在页面上看见,所以get安全性非常低。

Psot方式传递的参数用户不可见,因此post安全性较高。

扩展资料

Get请求与Post请求的特性

1、Get请求:

Get请求是将数据添加到URL中并传递到服务器,通常利用一个问号“?”代表URL地址的结尾与数据参数的开端。

后面的参数每一个数据参数以“名称=值”的形式出现,参数与参数之间利用一个连接符&来区分。

2、Post请求:

Post请求数据是放在HTTP主体中的,其组织方式不只一种,有"&"连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。

参考资料:百度百科-HTML

参考资料:百度百科-URL

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-07
展开全部
从一个页面转向另一个页面的请求方式有两种,Post和Get.
如果从原理上来探究他们的区别,涉及到Http传输协议的细节,这样深究下去,就成华为人干的事了,有空可以请教一下华为高人,我一个做企业软件的实在没那么多时间也没必要去研究那些东西,所以就看一下表象吧。
所有的人都知道如下区别:
1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。
我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点.
先来看一下post方法.
这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的ViewState,每个页面要恢复原来的状态,都要将页面Post给自身,然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被Asp.net的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。
ViewState必须包含在<form runat="server">的窗体下,而只要包含了"runat="server""的标志,就甭想Post到其他页面中去,为什么?老盖说,我的ViewState是保存当前页面状态的,你要转到其他页面,他说,不行,**不认识的参数.如果想Post一个窗体,咋办?有四种方式可供选择.
1.在页面上新建一个form,不要加上runat="server"的标志,当然在这个窗体下的控件也就不用想用Viewstate来传值了.当在其他有runat="server"的窗体的中的按钮事件中,手动调用新建form的submit() 函数.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-07
展开全部
1. 区别:
在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有以下几点不同:

1、Get方法通过URL请求来传递用户的输入。Get方法传递的参数和值在URL上用?name=value&name=value的形式显示。Post方法通过另外的形式。

2、通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果登陆页面可以被浏览器缓存或其他人可以访问客户的这台机器。那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。

3、显然Get方法局限性在于当要传的值很多是,就不便这样,否则URL可能超长度而出错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-07
展开全部
<!--html代码-->
<form id="Form1" method="post" runat="server">
<input id="btnTransfer" type="button" onclick="post();" runat="server">
<input type="text" runat="server" id="SourceData">
</form>
<form id="forPost" method="post">
<input type="text" runat="server" id="SourceData2">
</form>

<!--Script代码-->
<script language="javascript">
function post()
{
forPost.action="DestinationPage.aspx";
forPost.submit();
}
</script>

接收页面
string a=Request.Form["SourceData2"].ToString();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式