1)HTTP工作過程
HTTP協議定義客戶端如何從服務器請求數據,以及服務器如何把數據傳送給客戶端,HTTP協議采用了請求/響應模型 C/S client server。
客戶端向服務器發送一個請求報文,請求報文包含請求的方法、URL、協議版本、請求頭部和請求數據。
服務器以一個狀態行作為響應,響應的內容包括協議的版本、原因短語、狀態代碼、響應頭部和響應數據。
下圖表明了這種請求/響應模型。
2)以下是HTTP請求/響應的步驟:
(1)客戶端連接到Web服務器
一個HTTP客戶端,通常是浏覽器(iOS應用),與Web服務器的HTTP端口(默認為80)建立一個連接。例如,http://www.baicu.com。
(2)發送HTTP請求
通過連接,客戶端向Web服務器發送一個文本的請求報文,一個請求報文由請求行、請求頭部、空行和請求數據4部分組成。
(3)服務器接受請求並返回HTTP響應
Web服務器解析請求,定位請求資源。服務器將資源復本寫到連接中,由客戶端讀取。一個響應由狀態行、響應頭部、空行和響應數據4部分組成。
(4)釋放連接
Web服務器主動斷開連接;客戶端被動連接。
(5)客戶端浏覽器解析數據
客戶端浏覽器首先解析狀態行,查看表明請求是否成功的狀態代碼。
然後解析每一個響應頭,響應頭告知以下為若干字節的HTML文檔和文檔的字符集。
客戶端浏覽器讀取響應數據HTML,根據HTML的語法對其進行格式化,並在浏覽器窗口中顯示。