HTTP 介紹
1. HTTP請求與響應
HTTP請求遵循著客戶端-服務器范式
請求步鄹序列:客戶端建立一個到服務器的TCP連接 》發送HTTP請求 》服務器隨后通過在同一個TCP連接上發送HTTP響應該請求。接下來,客戶端可以重用這個TCP連接,發送另一個請求或是將連接關閉。早期HTTP協議版本只允許在一個TCP連接上發送一個請求。HTTP 1.1則允許客戶端重用連接
HTTP 與 HTTPS 之間的最重要差別在于會話的連接建立階段。在TCP連接建立好,HTTP請求發送之前,客戶端與服務器之間必須建立SSL會話,SSL會話建立包含:客戶端與服務器協商使用何種密碼、交換公鑰、驗證協商以及驗證身份。當SSL會話建立完畢后,在TCP連接之上傳輸的所有數據都將加密。
2.URL 結構
協議 認證 主機名 端口 絕對路徑 查詢字符串
http://user:password@hostname:port/absolute-path?query
IOS 的URL加載系統中,NSURL對象用于管理URL對象, 由于絕對路徑與查詢字符串的內容受限,因此URL通常會使用百分號進行編碼。 http://www.lxweimin.com/p/6722d6fe1403
3.請求內容
HTTP請求包含3個部分:請求行、請求頭與請求體
請求行是發送給服務器的第一行數據。請求行中包含3方面主要信息:HTTP請求方法、請求URI 與HTTP版本
IOS 中,NSURLRequest 及其子類NSMutableURLRequest提供了必要的方法與屬性來構建HTTP請求
4.響應內容
在HTTP服務器與應用服務器處理完請求后,HTTP響應會通過同一個TCP socket返回給客戶端。HTTP響應的結構 第一行為狀態行,后面是頭,然后為響應體
IOS 中,NSURLResponse 及其子類NSMutableURLResponse封裝請求返回的數據