详解HTTP中GET和POST的区别
Http协议定义了客户端与服务器交互的不一样方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。分别对这个资源的查,改,增,删4个操做。
GET通常用于获取/查询资源信息,而POST通常用于更新资源信息。浏览器
比较GET和POST安全
关于其误区:服务器
误区一:POST能够比GET提交更多更长的数据?
因为使用GET方法提交数据时,数据会以&符号做为分隔符的形式,在URL后面添加须要提交的参数,有人就会说了,浏览器地址栏输入的参数是有限的,而POST不用再地址栏输入,因此POST就比GET能够提交更多的数据。难道真的是这样的么?spa
而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。 这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其余浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操做系统的支持。 同时,POST是没有大小限制的,HTTP协议规范也没有进行大小限制。 POST数据是没有限制的,起限制做用的是服务器的处理程序的处理能力。
总归一句话,这个限制是针对全部HTTP请求的,与GET、POST没有多少关系。操作系统
误区二:POST比GET安全?
首先,咱们要认可安全的概念有不少种,要是从最基本的肉眼看到就不安全,肉眼看不到那就是安全的概念说呢,GET确实没有POST安全,毕竟小白用户确实能够看到在URL中带有的数据信息,这个你没法狡辩。那么要是往严谨了说呢,POST是否是要比GET安全呢?其实不是的。code
上面也说了,GET将提交到服务器的数据添加到URL中了,可见;虽然POST的数据,你肉眼看不到,你抓个包看看,在HTTP包的包体中,咱们提交的数据时仍然可见的;因此说,从这方面来讲,POST也是以五十步笑百步了。