1.? 網(wǎng)絡的基本概念
客戶端:? 在網(wǎng)絡中的角色是獲取數(shù)據(jù), 實際上它就是我們開發(fā)的app
服務器:? 在網(wǎng)絡中的角色是提供數(shù)據(jù),信息的一臺計算機, 它的開發(fā)和我們沒有關(guān)系,
請求(request):? 客戶端向服務器索取數(shù)據(jù)的過程
響應(response):? 服務器對客戶端的請求作出反饋, 給予數(shù)據(jù)的過程
2. URL
實際生活中的地址:? 昌平區(qū)北京市中國/? 中國北京市昌平區(qū)
URL: 統(tǒng)一資源定位符
格式: 協(xié)議://主機地址:端口號/路徑
3. HTTP 超文本傳輸協(xié)議
規(guī)定數(shù)據(jù)交互的規(guī)則 (并不是數(shù)據(jù)的類型)
啥的就瘋狂拉升就發(fā)了啥架飛機按時發(fā)生了附近? ? 字符串就是文本
超文本: 不僅僅是字符串,? 圖片, 視頻, 音頻, zip
http協(xié)議規(guī)定一個完整的請求包含三部分
一 請求
1. 請求行
請求方法 請求路徑 http協(xié)議的版本號
GET / HTTP/1.1
2. 請求頭
請求頭的作用: 客戶端告訴服務器一些額外客戶端信息
必須要有的: HOST: www.baidu.com
3. 請求體
要發(fā)送給服務器的真正的二進制數(shù)據(jù)
二 響應
1. 響應行 (狀態(tài)行)
HTTP/1.1 200 OK
2. 響應頭
響應頭的作用: 服務器告訴客戶端一些額外服務器信息
一般我們不會去關(guān)心響應頭
只有下載文件的時候才會用到響應頭: 需要知道文件的大小和名稱
做數(shù)據(jù)緩存時也會用到響應頭
3. 響應體
服務器返回給客戶端真正的數(shù)據(jù)
三. NSURLConnection 2.0
NSURLSession? 7.0
第三方類庫: ASI , AFN
序列化和反序列化
序列化和反序列化 它參考的對象是計算機
計算機只識別二進制, 把對象轉(zhuǎn)成二進制時這個過程對計算機來說就是序列化
反序列化: 就是把二進制數(shù)據(jù)轉(zhuǎn)成我們OC中的對象 (網(wǎng)絡獲取的數(shù)據(jù)都是二進制, 所有要進行反序列化 ,反序列化又叫數(shù)據(jù)解析)
四, 網(wǎng)絡通訊三要素
1. IP地址? 在計算機內(nèi)部實際上是一個 32 位二進制數(shù)據(jù),? 通常以字符串去表示192.168.111.123
每段的取值范圍 0-255
IP地址的作用: 表示網(wǎng)絡上唯一的一臺計算機
DNS 解析: 就是把域名轉(zhuǎn)換成IP 的過程
2. 端口號
http協(xié)議默認的端口號: 80,? URL 中不寫端口號,不代表沒有, 不寫代碼使用協(xié)議默認的端口號
端口號的作用: 用來表示計算機上不同的網(wǎng)絡應用
0-1024 是系統(tǒng)保留的端口號, 開發(fā)中不要使用.
3. 傳輸協(xié)議
作用: 規(guī)定數(shù)據(jù)傳輸?shù)姆绞?/p>
UDP, TCP
TCP 使用場景: 網(wǎng)頁, 下載, 上傳.
UDP 使用場景: 網(wǎng)絡游戲, 直播, 比較老的聊天軟件可能用的UDP