首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

HTTP请求Get跟Post的区别总结

2012-09-19 
HTTP请求Get和Post的区别总结?区别与联系:GET一般用来取数据Post一般用来提交数据?get是从服务器上获取数

HTTP请求Get和Post的区别总结

?

区别与联系:GET一般用来取数据Post一般用来提交数据

?

get是从服务器上获取数据,post则是向服务器传送数据;get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面;Post是将表单中的数据放在请求的数据体中,按照变量和值相对应的方式,传递到action所指向URL;

所以从上述也可以得到另外两个结论:

?

get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制。post传送的数据量较大,所以在上传文件只能使用Post。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;get安全性非常低(因为用户可以通过URL看到),post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比post方法好;Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集;Get是Form的默认方法;Get方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取(这一点不是很明确);

建议:

1、如果是包含机密信息的话,建议用post数据提交方式;

2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

?

所以如果有敏感数据是不应该用get方法的,但是有例外,就是ajax请求时候即使是敏感字段也可以用get。?

?

关于响应速度:?

get请求是可以被客户端缓存的。比post高效。?AJAX环境中get响应快速,post需要先发送header再发送post data;

关于安全:

GET requests can be cached?GET requests can remain in the browser history?GET requests can be bookmarked?GET requests can be distributed & shared?说 POST 比 GET 安全肯定是错的,POST跟GET都是明文传输;语义上,GET是获取指定URL上的资源,是读操作,重要的一点是不论对某个资源GET多少次,它的状态是不会改变的,在这个意义上,我们说GET是安全的(不是被密码学或者数据保护意义上的安全);因为GET是安全的,所以GET返回的内容可以被浏览器,Cache服务器缓存起来(其中还有很多细节,但不影响这里的讨论);而POST的语意是对指定资源“追加/添加”数据,所以是不安全的,每次提交的POST,参与的代码都会认为这个操作会修改操作对象资源的状态;浏览器在你按下F5的时候会跳出确认框,缓存服务器不会缓存POST请求返回内容;

?

?

?

?

?

热点排行