首页 > 代码库 > http中get与post的区别

http中get与post的区别

转自http://blog.csdn.net/jilily/article/details/3935514

————————————————————————————————————————————

 

先简单的介绍一下getpost

l          Get:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。

l          Post:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,Post被设计成用统一的方法实现下列功能:

1.         对现有资源的解释

2.         向电子公告栏、新闻组、邮件列表或类似讨论组发信息。

3.         提交数据块

4.         通过附加操作来扩展数据库

                                  从从上面描述可以看出,Get是向服务器发索取数据的一种请求;而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。

HTTP请求:getpost方法的区别

             相同点;

l          Get与post(对于“post”除非相应里有cache-control或者expires头域指示其相应不可缓存)请求的相应是可缓存的;

 

          不同点:

1.         Get是从服务器上获取数据,post是向服务器传送数据

2.         Get是把参数数据队列加到提交表单的action属性所指定的URL中,值和表单中各个字段一一对应,在URL中可以看到,post是通过HTTP post机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的URL地址,用户看不到这个过程;

3.         get传送的数据量较小,不能大于2kb;post传送的数据量较大,一般被默认为不受限制的。但理论上,IIS4中最大量为80kb,IIs5中为100kb;

4.         get安全性非常低;post安全性较高;

5.         get适用于多请求,而保留post仅用于更新站点;

6.         在form提交的时候,如果不指定method,则默认为get请求,form中提交的数据将会附加在url之后,以?与URL分开。字母数字字符原样发送,但空格转换为“+”号,其它符号转换为%xx,其中xx为该符号为16进制表示的ASCII(或ISO Latin-1)值;

7.         get请求提交的数据放置在HTTP请求协议头中,而post提交的数据则放在实体数据数据中;

 

 

在表单中适用“post”和“get”区别

                        在form里面,可以适用post也可以适用get。它们都是method的合法取值。但是,post和gei方法在适用上至少两点不同;

1.         get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。

2.         get方式的提交需要用Request.QueryString来取得变量的值,而post方式提交时,必须通过Request.Form来访问提交的内容

 

http中get与post的区别