HTTP中GET和POST的区别

来源:互联网 发布:java的httpclient 编辑:程序博客网 时间:2024/06/06 00:32

1.GET和POST是HTTP定义的与服务器交互的两种常用的基本的请求

http中的url可以理解为资源的地址,而http4种基本的操作资源的方法(GET查,POST改,PUT增,DELETE删)

2.GET是数据安全的,只是查询数据,不会增加、修改数据,不会影响资源的状态。(这里数据安全是针对数据库)

a.以上两条是http的规范,但是实际中很多人并没有按照这种规范去做b.对资源的增删改查,都可以通过GET/POST完成,不需要用到PUT/DELETEc.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点

3.GET、POST提交数据的方式不同

a.GET把要提交的数据放在URL的后面,以“?”连接,多个参数则以“&”连接b.POST把要提交的数据放在http包的包体中

4.POST的安全性要比GET的安全性高

这里所说的安全性和上面GET提到的“安全”不是同个概念。上面 “安全”的含义仅仅是不作数据修 改,而这 里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存, (2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击

5.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。
6.提交数据的大小

a.get方法因特定浏览器和服务器对URL长度的限制,而限制提交数据的大小b.post方法理论上不受限制,但实际是各个web服务器都会规定对post提交数据进行限制
0 0
原创粉丝点击