网络数据请求
2016-07-27 22:06
239 查看
基本概念:
URL:统一资源定位符,通过URL能够找到互联网上唯一的资源
协议:不同的协议代表着不同的资源查找方式和传输方式
HTTP(Hyper Text Transfer Protocol)协议:超文本传输协议,用于从万维网服务器传输超文本到本地浏览器,HTTP是一个应用层协议,由请求和响应构成,是一个标准的服务器、客户端模型。
工作原理:
HTTP采用服务器/客户端模型,客户端向服务器发送一个请求报文,服务器以一个状态作为响应。
HTTPS(Secure Hyper Text Transfer Protocol ):安全超文本传输协议,它是一个安全的通信信道,它是基于HTTP开发,用于客户端和服务器端传输数据。它使用了安全套接字(SSL)进行数据交换,
简单来说就是HTTP的安全版本。HTTPS使用SSL在发送方把原始数据加密,然后在接收方解密,加密和解密需要发送方和接收方交换共知的密钥加密解密,加密的数据不容易被截获。
SSL:安全保密协议,运行在TCP/IP层之上,应用层之下,为应用程序加密数据通道。
HTTP和HTTPS异同:
1.HTTPS需要到ca申请证书,一般免费证书很少,大部分需要交费
2.HTTP是超文本传输协议,是明文传输,HTTPS是密文传输,是一个安全的通信信道
3.HTTP和HTTPS使用完全不同的链接方式,用的端口也不一样,HTTP使用80端口,HTTPS使用443端口
4.HTTP链接是无状态的
5.HTTPS协议是由SSL+HTTP构建的可加密的安全通道,可提供身份认证的安全网络协议,比HTTP要安全
HTTP协议常见的请求方式
GET
POST
相同点:都能给服务器传输数据
不同点:
1、给服务器传输数据的方式不同
GET使用网址字符串
POST使用NSData数据
2.传输数据的大小
GET255个字节
POST使用NSData,容量超过1G
3.安全性
GET传输的数据放在网址里面,明文传输,直接可见
POST数据被转换为NSData(二进制数据),无法直接读取
iOS网络数据请求的实现:
概念:NSURL对网址进行封装
连接方式:
同步连接:容易出现卡死现象
异步连接:等待数据返回,实现方式1.Block 2.代理协议
注意:在进行网络请求编程时需要设置info.list文件。
注意:若网址字符串URLString中若有类对象,可以使用下面的方法处理:
[URLString stringByAddingPercentEncodingWithAllowedCharadters:[NSCharacterSet URLQueryAllowCharacterSet]];
NSURLSession类支持三种类型的任务:加载数据,下载和上传。
适合于小的数据访问,例如:
1.JSON
2.XML
3.Plist
4.HTML
5.图像
NSURLSession补充知识:
1.NSURLSessionConfiguration类:用于配置会话的属性,可以通过该类配置会话的工作模式
2.NSURLSessionTask类:NSURLSessionTask是一个抽象子类,它有三个子类:NSURLSessionDataTask,NSURLSessionUploadTask和
NSURLSessionDownloadTask。这三个类封装了现代应用程序的三个基本网络任务:获取数据以及上传和下载数据。
3.NSURLSessionDelegate和NSURLSessionTaskDelegate协议
URL:统一资源定位符,通过URL能够找到互联网上唯一的资源
协议:不同的协议代表着不同的资源查找方式和传输方式
HTTP(Hyper Text Transfer Protocol)协议:超文本传输协议,用于从万维网服务器传输超文本到本地浏览器,HTTP是一个应用层协议,由请求和响应构成,是一个标准的服务器、客户端模型。
工作原理:
HTTP采用服务器/客户端模型,客户端向服务器发送一个请求报文,服务器以一个状态作为响应。
HTTPS(Secure Hyper Text Transfer Protocol ):安全超文本传输协议,它是一个安全的通信信道,它是基于HTTP开发,用于客户端和服务器端传输数据。它使用了安全套接字(SSL)进行数据交换,
简单来说就是HTTP的安全版本。HTTPS使用SSL在发送方把原始数据加密,然后在接收方解密,加密和解密需要发送方和接收方交换共知的密钥加密解密,加密的数据不容易被截获。
SSL:安全保密协议,运行在TCP/IP层之上,应用层之下,为应用程序加密数据通道。
HTTP和HTTPS异同:
1.HTTPS需要到ca申请证书,一般免费证书很少,大部分需要交费
2.HTTP是超文本传输协议,是明文传输,HTTPS是密文传输,是一个安全的通信信道
3.HTTP和HTTPS使用完全不同的链接方式,用的端口也不一样,HTTP使用80端口,HTTPS使用443端口
4.HTTP链接是无状态的
5.HTTPS协议是由SSL+HTTP构建的可加密的安全通道,可提供身份认证的安全网络协议,比HTTP要安全
HTTP协议常见的请求方式
GET
POST
相同点:都能给服务器传输数据
不同点:
1、给服务器传输数据的方式不同
GET使用网址字符串
POST使用NSData数据
2.传输数据的大小
GET255个字节
POST使用NSData,容量超过1G
3.安全性
GET传输的数据放在网址里面,明文传输,直接可见
POST数据被转换为NSData(二进制数据),无法直接读取
iOS网络数据请求的实现:
概念:NSURL对网址进行封装
连接方式:
同步连接:容易出现卡死现象
异步连接:等待数据返回,实现方式1.Block 2.代理协议
注意:在进行网络请求编程时需要设置info.list文件。
注意:若网址字符串URLString中若有类对象,可以使用下面的方法处理:
[URLString stringByAddingPercentEncodingWithAllowedCharadters:[NSCharacterSet URLQueryAllowCharacterSet]];
NSURLSession类支持三种类型的任务:加载数据,下载和上传。
适合于小的数据访问,例如:
1.JSON
2.XML
3.Plist
4.HTML
5.图像
NSURLSession补充知识:
1.NSURLSessionConfiguration类:用于配置会话的属性,可以通过该类配置会话的工作模式
2.NSURLSessionTask类:NSURLSessionTask是一个抽象子类,它有三个子类:NSURLSessionDataTask,NSURLSessionUploadTask和
NSURLSessionDownloadTask。这三个类封装了现代应用程序的三个基本网络任务:获取数据以及上传和下载数据。
3.NSURLSessionDelegate和NSURLSessionTaskDelegate协议
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 使用 Python 处理 JSON 格式的数据
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- XML 与 JSON 优劣对比
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- VBA将excel数据表生成JSON文件
- newtonsoft.json解析天气数据出错解决方法
- vbs 解析json jsonp的方法
- Ruby和Ruby on Rails中解析JSON格式数据的实例教程
- Extjs4如何处理后台json数据中日期和时间
- C#实现将类的内容写成JSON格式字符串的方法
- JQuery ajax返回JSON时的处理方式 (三种方式)
- jquery JSON的解析方式示例介绍
- c#版json数据解析示例分享
- C#实现集合转换成json格式数据的方法
- ASP JSON类文件的使用方法