我们在使用网络请求获取数据的时候应该对get有一定的理解,顾名思义get
是从服务器上获取数据,post
是向服务器传送数据。前者把参数数据加在了将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节,后者则是将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。下面就来浅谈一下。
一、浅谈概念
HTTP
定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET
,POST
,PUT
,DELETE
。URL
全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET
,POST
,PUT
,DELETE
就对应着对这个资源的查
,改
,增
,删
4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息,个人认为这是GET和POST的本质区别,也是协议设计者的本意,其它区别都是具体表现形式的差异 。
1.get和post的区别:
对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。get方式传送的数据量较小,post传输的数据量较大,一般被默认是不受限制的,但是理论上还是有限制的,URL长了,对服务器处理也是一种负担。
二、GET
get使用起来非常简单,仅仅四行代码就能获取大量的信息,但是它仅仅在获取信息的时候好用,你若是想传递信息到服务器,那还是别用get的好,它传递信息无非就是通过URL进行传递,明眼人就能想到,这不就一下把数据泄漏完了,所以get的保密性和安全性都不高,而且URL通常也是有限度的,太长的话会影响后台解析。
三、POST
四、小总结
从上边两个不难看出两个的区别,无非就是post多了一个请求体,其他的也没什么区别,但是post的好处还有很多,首先它的保密性和安全性就比较高,所以以后我们还是尽量多使用post请求数据的好,另外上述说的仅仅只是使用系统自带方法的代码,当然你也可以使用第三方库,比如AFNetworking
它使用起来就更加方便。