HttpRequest的POST和GET的区别

HttpRequest的POST和GET的区别[摘自百度知道]

一、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的默认方法。
======举例:======
http://zhidao.baidu.com/question/6673234.html
二、Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机。
当你在浏览网站的时候,Web服务器会先送一小段资料放在你的计算机上,Cookie 会帮你把在网页上所输入的文字或是一些选择,都记录下来。当下次你再光临同一个网站,Web服务器会先看看有没有它上次留下的Cookie资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你。
======举例:======
写入:
response.Cookies("ok")=123
读取:
dim aa
aa=request.Cookies("ok")
response.write (a)
**************************************************
参考资料:http://zhidao.baidu.com/question/1201107.htmlhttp://zhidao.baidu.com/question/872547.html

****************************************************************

我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点.

先来看一下post方法.

这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的ViewState,每个页面要恢复原来的状态,都要将页面Post给自身,然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被Asp.net的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。

ViewState必须包含在的窗体下,而只要包含了"runat="server""的标志,就甭想Post到其他页面中去,为什么?老盖说,我的ViewState是保存当前页面状态的,你要转到其他页面,他说,不行,**不认识的参数.如果想Post一个窗体,咋办?有四种方式可供选择.

1.在页面上新建一个form,不要加上runat="server"的标志,当然在这个窗体下的控件也就不用想用Viewstate来传值了.当在其他有runat="server"的窗体的中的按钮事件中,手动调用新建form的submit() 函数.

传送页面代码如下:

 

HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别
< form?id = " Form1 " ?method = " post " ?runat = " server " >
HttpRequest的POST和GET的区别????????????
< input?id = " btnTransfer " ?type = " button " ??onclick = " post(); " ?runat = " server " >
HttpRequest的POST和GET的区别????????????
< input?type = " text " ?runat = " server " ?id = " SourceData " >
HttpRequest的POST和GET的区别????????
form>
HttpRequest的POST和GET的区别????????
<form?id="forPost"?method="post">
HttpRequest的POST和GET的区别????????????
<input?type="text"?runat="server"?id="SourceData2">
HttpRequest的POST和GET的区别????????
form>
HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别

HttpRequest的POST和GET的区别
<script?language="javascript">
HttpRequest的POST和GET的区别????????????
function?post()
HttpRequest的POST和GET的区别????????????{
HttpRequest的POST和GET的区别????????????????forPost.action
="DestinationPage.aspx";
HttpRequest的POST和GET的区别????????????????forPost.submit();
HttpRequest的POST和GET的区别????????????}
HttpRequest的POST和GET的区别????????
script>
HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别

 


接收页面

 

HttpRequest的POST和GET的区别 string ?a = Request.Form[ " SourceData2 " ].ToString();

 


2.通过Session取值,在一个页面中赋值,在其他页面中共享,这个方式也被广泛应用,个人不倾向于用这种方式,我怕造成Session值的混乱无序,Session用来存一些公共的东西已经累得够呛了。

3.通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。示例代码如下:

传送页面

 

HttpRequest的POST和GET的区别 // 点击某个button时触发
HttpRequest的POST和GET的区别
private ? void ?btnTransfer_ServerClick( object ?sender,?EventArgs?e)
HttpRequest的POST和GET的区别HttpRequest的POST和GET的区别????????
HttpRequest的POST和GET的区别 {
HttpRequest的POST和GET的区别????????????Context.Items[
"SourceData"]=SourceData.Value;
HttpRequest的POST和GET的区别????????????Server.Transfer(
"DestinationPage.aspx");
HttpRequest的POST和GET的区别????????}

 


接收页面

 

HttpRequest的POST和GET的区别 string ?a = Context.Items[ " SourceData " ].ToString();

 


4.通过Server.Transfer的方式。
这个方式在方法三种已经用到了,不过可以在调用页面为要传递到被调用页面的值创建属性(当然可以直接将它设成public),这样就可以在其他页面访问了。

传送页面

 

HttpRequest的POST和GET的区别 // 要传送的值
HttpRequest的POST和GET的区别
private ?
HttpRequest的POST和GET的区别System.Web.UI.HtmlControls.HtmlInputText?SourceData;
HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别
public ? string ?getSourceData
HttpRequest的POST和GET的区别HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别 {
HttpRequest的POST和GET的区别??
get
HttpRequest的POST和GET的区别HttpRequest的POST和GET的区别??
HttpRequest的POST和GET的区别{
HttpRequest的POST和GET的区别????
return?SourceData.Value;
HttpRequest的POST和GET的区别??}

HttpRequest的POST和GET的区别}

HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别
// 传送页面
HttpRequest的POST和GET的区别
Server.Transfer( " DestinationPage.aspx " );

 


接收页面

 

HttpRequest的POST和GET的区别 private ?SourceClass?sourcePage;
HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别sourcePage
= (SourceClass)Context.Handler;
HttpRequest的POST和GET的区别????????????
string ?aa = sourcePage.getSourceData;

 


以上就是Post的在不同页面传递数据的方式了。
下面是get方法
我常用的是? 传送页面

 

HttpRequest的POST和GET的区别 string ?aa = SourceData.Value;
HttpRequest的POST和GET的区别????????????
string ?bb = SourceData.Value;
HttpRequest的POST和GET的区别
HttpRequest的POST和GET的区别????????????
string ?url = " DestinationPage.aspx?parameter1= " + aa + " ¶meter2= " + bb;
HttpRequest的POST和GET的区别????????????Response.Redirect(url,
false );

 


接收页面

 

HttpRequest的POST和GET的区别 string ?aa = Request.QueryString[ " parameter1 " ].ToString();
HttpRequest的POST和GET的区别????????????
string ?bb = Request.QueryString[ " parameter2 " ].ToString();

 


至于?Response.Redirect(url,false)里的false都是Response.End()这个方法惹的祸,老盖说,写成false就好了,因为默认是true。我都转向其他页面了,还不让我终止原来页面的响应.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值