GET和POST请求的区别,翻看网友各种说法, 总结如下:
第一种:
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
第二种:
1. GET请求的接口会包含参数部分,参数会作为网址的一部分,服务器地址与参数之间通过 ? 来间隔。POST请求会将服务器地址与参数分开,请求接口中只有服务器地址,而参数会作为请求的一部分,提交后台服务器。
2. GET请求参数会出现在接口中,不安全。而POST请求相对安全。
3.虽然GET请求和POST请求都可以用来请求和提交数据,但是一般的GET多用于从后台请求数据,POST多用于向后台提交数据。
总的来说有如下三种情况:
1、安全性:get不安全,post安全。
2、请求or提交:get多用于请求,post多用于提交数据。
3、大小:get传送的数据量较小,post比较大。
综合以前的项目经验,get可以打印接口,post打印不到接口,如果需要打印接口,需要进入post底层里面找,添加NSLog来打印接口。
对于简单的网络请求,没有安全限制的,两种请求的数据结果是一样的,但是我们在具体的项目中,应该会考虑安全性能,我们的项目就因为RSA加密,将原来的所有的GET请求转换成了POST请求,因为RSA加密后,请求变得异常的长,根据上述的第三点来看,改成post是为了避免请求过程中丢失参数,所以改成post。
下边还是以“AFNetwoking(一)GET请求”中的接口作为例子进行post请求。
依旧建一个方法存放post请求。
我们可以看到,依旧可以请求成功,但是问题就来了,从这个破请求里面我们看到了post和get有什么区别呢?!
笔者认为,因为这里的栗子是个简单的请求,所以看不出区别来,但是几天后要学习文件或者图片的上传估计就只能用post请求了。
两者都是请求到数据,应该是术业有专攻,各自优点不同:参照上述第二点:get多用于请求,post多用于提交数据。
综上所述,加密的、文件上传的、请求比较长的都要用POST请求。
再次声明,这里只是简单的进行了POST请求。大神们不喜勿喷。。。
主要还是AFNetworking的导入步骤,因为查了好多资料,都没具体的步骤,可能是我太小白了吧,给小小白们补充一下。。。