1、HTTP 超文本傳輸協議
HTTP 是基於客戶端/服務端(C/S)的架構模型,經過一個可靠的連接來交換信息,是一個無狀態的請求/響應協議。 一個HTTP "客戶端"是一個應用程序(Web瀏覽器或其餘任何客戶端),經過鏈接到服務器達到向服務器發送一個或多個HTTP的請求的目的。 一個HTTP "服務器"一樣也是一個應用程序(一般是一個Web服務,如Apache Web服務器或IIS服務器等),經過接收客戶端的請求並向客戶端發送HTTP響應數據。 HTTP 使用統一資源標識符(Uniform Resource Identifiers, URI)來傳輸數據和創建鏈接。 html
HTTP 請求到服務器的請求消息包括如下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成。 瀏覽器
HTTP1.0 定義了三種請求方法: GET, POST 和 HEAD方法。 緩存
HTTP1.1 新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。服務器
2、HTTP 請求方式:架構
GET 請求指定的頁面信息,並返回實體主體。 HEAD 相似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。 PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。 DELETE 請求服務器刪除指定的頁面。 CONNECT HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。 OPTIONS 容許客戶端查看服務器的性能。 TRACE 回顯服務器收到的請求,主要用於測試或診斷。
3、HTTP 返回狀態碼---《關於HTTP返回碼》post
1xx 處理信息,服務器收到請求,須要請求者繼續執行操做; 2xx 請求成功,操做被成功接收並處理; 3xx 重定向,須要進一步的操做以完成請求; 4xx 客戶端錯誤,請求包含語法錯誤或沒法完成請求; 5xx 服務器錯誤,服務器在處理請求的過程當中發生了錯誤;
步驟一:客戶端和服務器端創建鏈接 性能
步驟二: 客戶端發送請求數據到服務器端(HTTP協議) 測試
步驟三: 服務器端接收到請求後,進行處理,而後將 處理結果響應客戶端(HTTP協議) spa
步驟四: 關閉客戶端和服務器端的鏈接(HTTP1.1後不會當即關閉) 3d
二丶HTTP協議與其餘協議之間的交互
HTTP協議是TCP/IP協議棧的一部分,按照TCP/IP協議分層理念,其位於應用層。一個完整的通訊流程必然是由許多協議相互配合完成。本節將介紹HTTP協議是如何配合其餘協議完瀏覽器發出請求到獲取響應的通訊過程
DNS域名解析過程
DNS是域名解析系統,域名解析系統的只要目的就是完成域名地址到IP地址的轉換。此處引用一張圖來介紹DNS域名解析過程(圖片來源)。
協議封包/解包過程的過程
本文中將HTTP封包,TCP封包,IP封裝以及對應的解包的過程統稱爲協議封包和解包過程。其通常過程以下: