Get和Post的区别
时间:2011-06-05 来源:火星文
1.get是从服务器上获取数据,post是向服务器上传数据。
2.get是把参数数据列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML header 内一起传送到 action属性所指的URL地址。用户看不到这个过程。
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get传送的数据量较小。不能大于2kb(这主要是应为受URL长度限制),post传送的数据量较大,一般被默认为不受限制。但理论上,限制取决于服务器的处理能力。
5.get安全性较低,post安全性较高。因为get在传送的过程,数据被放在请求的URL中,而如今享有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息会一同显示在用户面前。post的所有操作对用户来说都是不可见的。
6.在FORM提交的时候,如果不指定Method,则默认为get请求(.net默认是post),Form中提交的数据将会附加在RUL之后,以?分开URL分开。字母数据字符原样发送,但空格转换为“+”号,其它符号转换为%xx,其中xx为该符号以16进制表示的ascii(或iso latin-1)值。get请求提交的数据放置在HTTP请求协议头中,而post提交的数据则放在实体数据中;get方式提交的数据最多只能有2048字节,而post则美誉写限制。post传递的参数在doc里,也就http协议所传递的文本,接受时再解析参数部分。获得参数。一般用post比较好。post提交数据是隐式的,get是通过在URL里面传递的,用来传递一些不需要保密的数据,get是通过的URL里传递参数,post不是。