1. 网络的基本概念
客户端: 在网络中的角色是获取数据, 实际上它就是我们开发的app
服务器: 在网络中的角色是提供数据,信息的一台计算机, 它的开发和我们没有关系,
请求(request): 客户端向服务器索取数据的过程
响应(response): 服务器对客户端的请求作出反馈, 给予数据的过程
2. URL
实际生活中的地址: 昌平区北京市中国/ 中国北京市昌平区
URL: 统一资源定位符
格式: 协议://主机地址:端口号/路径
3. HTTP 超文本传输协议
规定数据交互的规则 (并不是数据的类型)
啥的就疯狂拉升就发了啥架飞机按时发生了附近 字符串就是文本
超文本: 不仅仅是字符串, 图片, 视频, 音频, zip
http协议规定一个完整的请求包含三部分
一 请求
1. 请求行
请求方法 请求路径 http协议的版本号
GET / HTTP/1.1
2. 请求头
请求头的作用: 客户端告诉服务器一些额外客户端信息
必须要有的: HOST: www.baidu.com
3. 请求体
要发送给服务器的真正的二进制数据
二 响应
1. 响应行 (状态行)
HTTP/1.1 200 OK
2. 响应头
响应头的作用: 服务器告诉客户端一些额外服务器信息
一般我们不会去关心响应头
只有下载文件的时候才会用到响应头: 需要知道文件的大小和名称
做数据缓存时也会用到响应头
3. 响应体
服务器返回给客户端真正的数据
三. NSURLConnection 2.0
NSURLSession 7.0
第三方类库: ASI , AFN
序列化和反序列化
序列化和反序列化 它参考的对象是计算机
计算机只识别二进制, 把对象转成二进制时这个过程对计算机来说就是序列化
反序列化: 就是把二进制数据转成我们OC中的对象 (网络获取的数据都是二进制, 所有要进行反序列化 ,反序列化又叫数据解析)
四, 网络通讯三要素
1. IP地址 在计算机内部实际上是一个 32 位二进制数据, 通常以字符串去表示192.168.111.123
每段的取值范围 0-255
IP地址的作用: 表示网络上唯一的一台计算机
DNS 解析: 就是把域名转换成IP 的过程
2. 端口号
http协议默认的端口号: 80, URL 中不写端口号,不代表没有, 不写代码使用协议默认的端口号
端口号的作用: 用来表示计算机上不同的网络应用
0-1024 是系统保留的端口号, 开发中不要使用.
3. 传输协议
作用: 规定数据传输的方式
UDP, TCP
TCP 使用场景: 网页, 下载, 上传.
UDP 使用场景: 网络游戏, 直播, 比较老的聊天软件可能用的UDP
网友评论