IOS开发-网络请求方式总结

上层网络开发:基于http(超文本传输协议),而http是基于tcp/ip协议的。
开发简单、高效、数据量大。

http请求格式:
1:格式中的首部header:使用服务器时的附加说明信息
2:格式中的主体body:可以添加很多数据(可有可无)

http协议申明了客户端与服务端交互的方式,即请求方式:
get、post、put、delete
这四种方式可以对网络资源(url描述的内容)进行:查、改、增、删

常用的是下面两种:
1:get方法:下行/从服务端获得数据
   (1)get请求一般只是从服务器获得数据,请求时一般会提交服务器一些请求参数,附加在url上的,参数之间以&分割。
    (2)url中英文和数字原样识别,而中文或者一些其他字符需要编码。
    (3)get请求提交的数据一般放在http协议的头header中

2:post方法:上传/上传数据改变服务端内容
    ( 1)post请求多用于给服务器提交数据。
     (2)post请求提交的数据一般放在http的主体数据包body中

3:二者的区别:
     数据量的限制不同:
      (1)由于get请求提交的数据是依附于url中,http协议没规定url长度及请求参数个数,所以理论上不存在大小限制,但是不同浏览器支持的url最大长度有所限制。
      (2)http协议也没有规定post请求的大小,所以理论上post的大小也没有限制。但是往往服务端考虑到处理数据的能力,会对它做一些限制。但是一般post请求的数据量都会大于get请求。
      安全性不同:
       (1)由于get请求的数据附加在url上,所以提交的数据是可以看见的,数据包被拦截后也是明文的,再者浏览器的浏览历史记录也会被人看见,加入提交的是用户名和密码那就很不安全。
       (2)post提交的数据是在body体中,相对安全性更高一些。


注意:(1)我们之前的网络音频、视频、webView学习中,用到的请求方式是什么?
                      iOS中不指定请求方式,默认都是get的,有对应的接口进行方式的设定。
           (2)什么时候使用get、什么时候使用post?
                     在服务端没有特殊指定请求方式的情况下,可以用get、也可以用post;服务端指定某个数据只能通过post的方式,那就必须用post(一般要给服务端上传较大数据时都会指定用post)
            (3)请求时要给服务端上传什么参数,提交什么数据?
                       服务端让给什么就给什么!(开发中会有对应的接口文档)  

你可能感兴趣的:(IOS开发-网络请求方式总结)