再次总结一下基础知识,代码部分参考 NSConnection以及NSSession
---------> 常见的协议 <------
- ftp:// (文件传输协议)
- http:// (超文本传输协议)
- https:// (安全超文本传输协议)
- file:// (本地文件协议)
---------> 网络七层模型 (底层-->高层) <---------
- 物理层: 用作机械,电子,定时接口通信信道上的原始比特流 (二进制)传输
- 数据链路层: 物理寻址, 同时将原始的比特流转变为逻辑传输线路
- 网络层: 控制子网的运行, 如逻辑编址, 分组传输. 路由选择
- 传输层: 接受上层数据,在必要的时候, 把数据进行分割,并将这些数据能够有效地到达对端
- 会话层: 不同机器之间的建立以及管理会话
- 表示层: 信息的语法, 语义, 以及他们的关联, 如加密解密, 翻译转换, 压缩解压缩
- 应用层: 各种应用程序协议. HTTP, FTP, SMTP, POP3
---------> 协议 -> HTTP <----------
- HTTP: 超文本传输协议, 属于应用层, 有请求/响应构成 (客户端向服务器发送一个请求报文, 服务器以一个状态作为响应) 是一个标准的客户端服务器模型.
- HTTP通常承载于 TCP 协议之上, 有时候也承载于 TLS 或者是SSL(安全套接字层)协议之上, 这个时候就构成了HTTPS协议
---------> 协议 -> HTTPS <-------
- HTTPS (S-HTTP): 增强版的HTTP, 比HTTP更安全, 在HTTP基础上与安全套接子层 (SSl)结合,把原始数据进行加密, 然后接收方解密, 加密和解密需要发送方和接收方交换公知的密钥来实现, 所以更加安全.
- 默认端口号: HTTP(80) , HTTPS (443)
- 注意:
1⃣️ HTTP协议, 永远都是由客户端发起请求, 服务器返回数据.
2⃣️ HTTP协议是无状态,同一个客户端的这次请求, 和上次没有对应关系
3⃣️ HTTPS协议需要到 (由收信任数字证书颁发机构(沃通CA)在验证服务器身份后,具有服务器身份验证的和数据传输加密功能, 因此需要配置在服务器上, 所以也成了SSL服务器, 或者SSL证书, 一般免费证书很少, 需要交费)
-------> HTTP常见的请求方式 <----
- 最基本的请求时方式: GET、POST、PUT、DELETE,这四种请求方式对应着对资源的查、改、增、删 四种操作。
- GET: 一般用于获取或查询资源,也就是说如果请求 URL 是一个产生数据的的过程,使用 GET 的话,需要的是产生的数据结果,而不是对产生的描述(如何产生的数据)。
- POST:一般用于更新数据,也就是说向服务器发送请求,告知服务器接收请求后面的实体(BODY),也就是说 POST 向服务器发送请求信息, 而是需要提交的数据在信息后面的实体中(BODY)。
--------> NSURLSession 工作模式 <------------
- 默认会话模式(default): 类似于原来的 NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户 keychain 中保存的证书进行认证授权。
- 瞬时会话模式(ephemeral): 该模式不会使用磁盘保存任何数据, 所有和会话相关的 caches,证书, cookies 都被保存在 ROM 中(内存中),因此当程序是会话无效的时候,这些缓存,就会被自动清空.
- 后台会话模式(background): 该模式在后台完成上传和下载, 在创建配置对象的时候,需要一个 NSString 类型的 ID, 用于标示完成工作的后台会话.
----- 有时间接着写----