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版本

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)體

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