什麼是http協議,以及http協議的工作原理是什麼?下面將進行詳細的講解
HTTP流程的基本原理
HTTP協議是一種請求/應答協議。 與主機建立連接後,客戶以請求方法,URI和協議版本的形式向服務器發送請求,其中包括請求修改、客戶信息和可能的正文內容。
服務器用包括消息協議版本和成功或錯誤代碼的狀態進行應答,包括服務器信息,實體維護信息和可能的實體內容的類MIME消息。
大部分的HTTP通信由用戶代理引發,由發送到一些原服務器上資源的請求構成。最簡單的情形,可以經用戶代理(UA,User Agent)和原服務器之間的單一連接完成。
在HTTP中,客戶端總是通過建立一個連接與發送一個HTTP請求來發起一個事務。服務器不能主動去與客戶端聯系,也不能給客戶端發出一個回叫連接。客戶端與服務器端都可以提前中斷一個連接。例如,當用一個浏覽器下載一個文件時,用戶可以通過單擊"停止"鍵來中斷文件的下載,關閉與服務器的HTTP連接。
HTTP協議的工作原理主要包括四個步驟(如圖10-1所示)。
圖10-1 HTTP協議工作原理
(1)連接:Web浏覽器與Web服務器建立連接,打開一個稱為socket(套接字)的虛擬文件,此文件的建立標志著連接建立成功。
(2)請求:Web浏覽器通過socket向Web服務器提交請求。HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞)。GET命令的格式為:GET 路徑/文件名 HTTP/1。其中,文件名指出所訪問的文件,HTTP/1.0指出Web浏覽器使用的HTTP版本。
(3)應答:Web浏覽器提交請求後,通過HTTP協議傳送給Web服務器。Web服務器接到後,進行事務處理,處理結果又通過HTTP傳回給Web浏覽器,從而在Web浏覽器上顯示出所請求的頁面。例:假設客戶機與www.mycompany.com:8080/mydir/index.html建立了連接,就會發送GET命令:GET /mydir/index.html HTTP/1.0。主機名為www.mycompany.com的Web服務器從它的文檔空間中搜索子目錄mydir的文件index.html。如果找到該文件,Web服務器把該文件內容傳送給相應的Web浏覽器。為了告知 Web浏覽器傳送內容的類型,Web服務器首先傳送一些HTTP頭信息,然後傳送具體內容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個空行分開。其中,常用的HTTP頭信息如下。
HTTP 1.0 200 Ok:這是Web服務器應答的第一行,列出服務器正在運行的HTTP版本號和應答代碼。代碼"200 OK"表示請求完成。
MIME_Version:1.0:它指示MIME類型的版本。