IOS 網(wǎng)絡(luò)請求構(gòu)建--HTTP簡介

HTTP 介紹

1. HTTP請求與響應(yīng)

HTTP請求遵循著客戶端-服務(wù)器范式
請求步鄹序列:客戶端建立一個到服務(wù)器的TCP連接 》發(fā)送HTTP請求 》服務(wù)器隨后通過在同一個TCP連接上發(fā)送HTTP響應(yīng)該請求。接下來,客戶端可以重用這個TCP連接,發(fā)送另一個請求或是將連接關(guān)閉。早期HTTP協(xié)議版本只允許在一個TCP連接上發(fā)送一個請求。HTTP 1.1則允許客戶端重用連接

HTTP 與 HTTPS 之間的最重要差別在于會話的連接建立階段。在TCP連接建立好,HTTP請求發(fā)送之前,客戶端與服務(wù)器之間必須建立SSL會話,SSL會話建立包含:客戶端與服務(wù)器協(xié)商使用何種密碼、交換公鑰、驗證協(xié)商以及驗證身份。當(dāng)SSL會話建立完畢后,在TCP連接之上傳輸?shù)乃袛?shù)據(jù)都將加密。

2.URL 結(jié)構(gòu)

協(xié)議 認證 主機名 端口 絕對路徑 查詢字符串
http://user:password@hostname:port/absolute-path?query
IOS 的URL加載系統(tǒng)中,NSURL對象用于管理URL對象, 由于絕對路徑與查詢字符串的內(nèi)容受限,因此URL通常會使用百分號進行編碼。 http://m.itdecent.cn/p/6722d6fe1403

3.請求內(nèi)容

HTTP請求包含3個部分:請求行、請求頭與請求體
請求行是發(fā)送給服務(wù)器的第一行數(shù)據(jù)。請求行中包含3方面主要信息:HTTP請求方法、請求URI 與HTTP版本

popo_2017-09-13 17-40-36.jpg

IOS 中,NSURLRequest 及其子類NSMutableURLRequest提供了必要的方法與屬性來構(gòu)建HTTP請求

4.響應(yīng)內(nèi)容

在HTTP服務(wù)器與應(yīng)用服務(wù)器處理完請求后,HTTP響應(yīng)會通過同一個TCP socket返回給客戶端。HTTP響應(yīng)的結(jié)構(gòu) 第一行為狀態(tài)行,后面是頭,然后為響應(yīng)體

response.jpg

IOS 中,NSURLResponse 及其子類NSMutableURLResponse封裝請求返回的數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容