您的位置:首页 > 理论基础 > 计算机网络

网络数据请求

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协议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios json