iOS_网络_03_GET&POST

HTTP常见请求,GET和POST

一、GET和POST

  GETPOST是两种最常用的与服务器进行交互的HTTP方法

1、GET

  GET的语义是获取指定URL的资源

  将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接,各变量之间使用"&"连接

  貌似不安全,因为在传输过程中,数据被放在请求的URL中

  传输的数据量小,这主要是因为受URL长度限制

2、POST

  POST的语义是向指定URL的资源添加数据

  将数据放在数据体中,按照变量和值相对应的方式,传递到action所指向URL

  所有数据对用户来说不可见

  可以传输大量数据,上传文件只能使用Post

  涉及到用户隐私,一定要用POST,比如用户登录,银行卡账号

二、GET请求示例

三、POST请求示例

四、在浏览器中判断GET&POST请求

1、因为POST请求会向服务器发送数据体,因此在刷新页面时会出现提示窗口

2、而GET请求不会向服务器发送数据体,因此没有提示

3、从请求的本质而言,GET请求要比POST请求更安全,效率也会更高

五、利用Firebug轻松查看Post请求的内容

  在开发网络应用时,用浏览器跟踪URL的返回结果是开发的重要辅助手段

                  

六、iOS网络发送网络请求的步骤

1、实例化URL(网络资源)

2、根据URL建立URLRequest(网络请求)

  - 默认为GET请求

  - 对于POST请求,需要创建请求的数据体

3.利用URLConnection发送网络请求(建立连接)

4.获得结果

NSURLConnection提供了两个静态方法可以直接以同步或异步的方式向服务器发送网络请求

  同步请求:

  sendSynchronousRequest:returningResponse:error:

  异步请求:

  sendAsynchronousRequest:queue: completionHandler:

七、网络传输之二进制数据流

  在网络请求过程中,接收数据的过程实际上是通过NSURLConnectionDataDelegate来实现的,常用代理方法包括:

  服务器开始返回数据,准备工作

  -(void)connection:didReceiveResponse:

  收到服务器返回的数据本方法会被调用多次

  - (void)connection:didReceiveData:

  数据接收完毕,做数据的最后处理

  -(void)connectionDidFinishLoading:

  网络连接错误

  - (void)connection:didFailWithError:

  让NSURLConnectionDataDelegate异步执行

  [connection setDelegateQueue:[[NSOperationQueue alloc] init]];

原文地址:https://www.cnblogs.com/yudigege/p/3949946.html