目录
一、本质区别
二、数据接收方式
Get
Post
可以同时接收get和post方法传递的参数的写法
三、表单在提交的时候到底使用Get还是Post?
何种情况下用Get,何种情况下Post
Post
Get
四、对比
一、本质区别
(1) get是从服务器上获取数据,post是向服 务器传送数据。
二、数据接收方式
Get
如果表单是以Get方式将数据发送到服务器,那么会将用户在表单输入的数据放在浏览器的地址栏中发送到服务器端,用QueryString。
string userName= context.Request.QueryString["Name"]; //接收的是表单元素name的值
string userPwd = context.Request.QueryString["Pwd"];
Post
如果数据是以post提交,那么表单中的数据全部都放在请求报文的请求体中,用Form。
string userName = context.Request.Form["Name"];
string userPwd = context.Request.Form["Pwd"];
可以同时接收get和post方法传递的参数的写法
//第一种
string name3=Request.Params["name3"];
//第二种
string name4=Request["name4"];
三、表单在提交的时候到底使用Get还是Post?
何种情况下用Get,何种情况下Post
Post
1.Post安全性高,提交比Get提交要安全 (比如说提交身份证,账号密码等。)
2.Post发送的数据要比Get大(文件)
Get
1.搜索引擎一般用Get
2.Get安全性非常低,Post安全性较高。但是执行效率却比Post方法好
3.Get有利于推广。
四、对比
get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通 过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。用IIS过滤器的只接受get参 数,所以一般大型搜索引擎都是用get方式。在我们浏览网站,在浏览器地址中直接输入地址,敲回车,也是向服务器发送get请求,点击超链接也是Get请求。