浅谈HTTP中Get与Post的区别
2013-03-27 11:13
309 查看
HTtp定义了与服务品交互的不同方法,,基本的方法有四种:分别是Get,Post,Delete,Put.
URL全称是资源描述符,一个URL地址,它用于描述一个网络上的资源,而HTTP中的Get,Post,Put,Delete
就对应着对这个资源的查,改,增,删,四个操作,
Get一般用于获取/查询资源信息,Post一般用于更新资源信息,
根据规范,
Get用于信息获取,,而且应该是安全的和幂等的,
1),所谓安全,就是该操作用于获取信息而非修改信息.
2)幂等的意味着对同一URL的多个请求应该返回同要的结果,
Post,表示可能修改服务器上的资源的请求,
但实际上,Post/Get也可以完成对资源的增删改,查操作,不需要Put和Delete
MVC:
MVC本来就是存在于Desktop程序中的,M(Model)是指数据模型,V(View)是指用户界面,C(Controller)则是控制器
使用MVC的目的主是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.
表面现象的区别:
Get的请求的数据会附在URL之后,以?号分割URL和传输数据,参数之间以&相连,
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其它字,则直接把字符串用BASE64加密,得出%XX%XX,%XX,其中%XX中的XX为该符号以16进制表示的AscII;
提交的数据最多只能是1024KB,但其实HTTP协议没有这样的规范.其限制取决于操作系统的支持
Post把提交的数据则放置在是HTTP包的包体中.
理论上Post提交的数据没有限制.起限制作用的是服务器的处理程序的处理能力
在Jsp中,用request.getParameter(\"XXXX\")来获取,虽然也有request.getQueryString()方法,但使用起来比较麻烦,
Post安全性要比Get的安全性高,,这里所说的安全性和Get提到到安全不是同个概念,Get安全的含义仅仅是不作数据修改
,而这里的安全含义是真丄的Security的含义,比如,以通过Get提交数据,会要URL地址中出现,如用户登录信息,等.
总结:Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在Form中,Metho默认为Get
实质上,Get和Post只是发送机制不同,并不是一个取一个发!
参考资料:
[1].http://hi.baidu.com/liuzd003/blog/item/7bfecbfa6ea94ed8b58f318c.html
[2].http://www.blogjava.net/onlykeke/archive/2006/08/23/65285.aspx
[3].http://baike.baidu.com/view/2067025.htm
[4].http://www.chxwei.com/article.asp?id=373
[5].http://blog.csdn.net/somat/archive/2004/10/29/158707.aspx
转载请说明出处,谢谢[hyddd(http://www.cnblogs.com/hyddd/)]
URL全称是资源描述符,一个URL地址,它用于描述一个网络上的资源,而HTTP中的Get,Post,Put,Delete
就对应着对这个资源的查,改,增,删,四个操作,
Get一般用于获取/查询资源信息,Post一般用于更新资源信息,
根据规范,
Get用于信息获取,,而且应该是安全的和幂等的,
1),所谓安全,就是该操作用于获取信息而非修改信息.
2)幂等的意味着对同一URL的多个请求应该返回同要的结果,
Post,表示可能修改服务器上的资源的请求,
但实际上,Post/Get也可以完成对资源的增删改,查操作,不需要Put和Delete
MVC:
MVC本来就是存在于Desktop程序中的,M(Model)是指数据模型,V(View)是指用户界面,C(Controller)则是控制器
使用MVC的目的主是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.
表面现象的区别:
Get的请求的数据会附在URL之后,以?号分割URL和传输数据,参数之间以&相连,
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其它字,则直接把字符串用BASE64加密,得出%XX%XX,%XX,其中%XX中的XX为该符号以16进制表示的AscII;
提交的数据最多只能是1024KB,但其实HTTP协议没有这样的规范.其限制取决于操作系统的支持
Post把提交的数据则放置在是HTTP包的包体中.
理论上Post提交的数据没有限制.起限制作用的是服务器的处理程序的处理能力
在Jsp中,用request.getParameter(\"XXXX\")来获取,虽然也有request.getQueryString()方法,但使用起来比较麻烦,
Post安全性要比Get的安全性高,,这里所说的安全性和Get提到到安全不是同个概念,Get安全的含义仅仅是不作数据修改
,而这里的安全含义是真丄的Security的含义,比如,以通过Get提交数据,会要URL地址中出现,如用户登录信息,等.
总结:Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在Form中,Metho默认为Get
实质上,Get和Post只是发送机制不同,并不是一个取一个发!
参考资料:
[1].http://hi.baidu.com/liuzd003/blog/item/7bfecbfa6ea94ed8b58f318c.html
[2].http://www.blogjava.net/onlykeke/archive/2006/08/23/65285.aspx
[3].http://baike.baidu.com/view/2067025.htm
[4].http://www.chxwei.com/article.asp?id=373
[5].http://blog.csdn.net/somat/archive/2004/10/29/158707.aspx
转载请说明出处,谢谢[hyddd(http://www.cnblogs.com/hyddd/)]
相关文章推荐
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别——转载
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中get与post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP协议中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 【转】浅谈HTTP中Get与Post的区别
- 浅谈HTTP中Get与Post的区别
- 浅谈http中Get与Post的区别
- 浅谈HTTP中Get与Post的区别