您的位置:首页 > 理论基础 > 计算机网络

浅谈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/)]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: