首页 新闻 搜索 专区 学院

HTTP中的POST和GET

0
悬赏园豆:20 [已解决问题] 解决于 2011-12-07 18:15

各位大虾,我查了很多资料都说GET是从服务器获取数据,POST是向服务器提交数据。但是我们在用POST或GET提交表单时不是都可以像服务器提交数据么?请问到底要怎么来区分POST和GET的本质区别呢?在哪些情况下用POST提交,哪些情况下用GET提交?谢谢!

猛士的主页 猛士 | 初学一级 | 园豆:8
提问于:2011-05-24 23:59
< >
分享
最佳答案
0

表单提交分为两种方式:post和get

get:提交的数据直接显示在url后面,获取的方式是querystring,这样提交的数据大小有限制,因为URL地址栏的最大长度的关系,而且因为是明文提交,所以不安全。一般机密的数据不要用这种方式

post:asp.net默认的提交方式,这种方式提交的数据没有大小限制,而且相对于get比较安全,因为post提交的数据是http报文里面,这个你可以做个测试,用小工具抓取下请求的报文信息,就能看到了。

希望对你有帮助

收获园豆:10
加百力 | 小虾三级 |园豆:533 | 2011-05-25 09:12
其他回答(3)
0

   按照定义GET应该是取数据,但由于实际的使用中很多人都把这两个给搞混用了,所以目前GET和POST都可以提交数据和获取数据

 

本质区别: GET的长度是有限制的,不同的浏览器不太一样一般1K左右,一般GET是在URL中表示数据;POST对数据长度没有限制,而且POST的数据是在HTTP请求中,更安全一些,不像GET只要粘贴一个URL就行

2012 | 园豆:21089 (高人七级) | 2011-05-25 08:25
0

你的第一句话已经说了,get一般用于获取数据,post一般用于提交数据。

原因是安全上的考虑。

慧☆星 | 园豆:5555 (大侠五级) | 2011-05-25 09:11
0

使用get方式提交,参数会显示在地址栏中,但是地址栏的长度有限制,所以有局限性,而且比如一些登录首页的表单提交都应该使用post提交,原因是保护用户的信息安全。对于post,参数会在消息体中,长度没有局限性,而且参数在消息体中,很安全……

建议你安装一下HttpWatchPro-v6这个插件,可以在浏览器中查看你传送的请求的接收过程的展示,头部信息,消息体,采用的编码方式,相应的状态,正确相应200,还有您使用的HTTP协议版本等等很多 内容,可以便于你理解get和post的区别,希望对你有用……

收获园豆:10
左手年华 | 园豆:338 (菜鸟二级) | 2011-05-25 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册