回覆列表
-
1 # 喲喲吼說科技
-
2 # Java架構進階阿南
HTTP:是基於一種請求/響應模式的、無狀態的、應用層的協議,基於TCP協議傳輸資料,支援客戶/伺服器模式,每次完整互動都包含HTTP請求和HTTP響應。 Http請求由三個部分組成,請求行、訊息報頭、請求正文(可選,為空也行); 請求方法主要包括:GET、POST、HEAD、PUT、DELETE….,在我工作中常用的就GET跟POST GET:請求獲取Request-URI所標識的資源; POST:在Request-URI所標識的資源後附加新的資料(body); 每種方法規定了客戶與伺服器聯絡的型別不同,由於http協議簡單,使得http伺服器的程式規模小,因而通訊速度快。 HTTP有5種狀態碼:
123456常見狀態碼
HTTP(HyperText Transfer Protocol,超文字傳輸協議)是網際網路中最常用的一個網路協議,所有的WWW檔案必須執行此標準,允許將超文字標記語言(html)文件從Web伺服器傳送至客戶的瀏覽器。
如題,通訊網路中應用層的HTTP協議基於什麼協議實現的?怎樣簡單的理解?
HTTP協議是基於TCP協議來實現的,簡單來說http需要可靠的傳輸,而TCP是一個面向連線的、可靠的傳輸層協議,一般http預設使用的是TCP的80埠。
下面喲喲來簡單介紹一下HTTP的工作過程:
1、域名解析在瀏覽某個網站時,首先需要對該網站的域名進行解析(DNS),將域名解析成對應的IP地址,從中分析出協議名、主機名、埠、物件路徑等部分;
2、封裝HTTP請求資料包將以上分析得出的資料資訊封裝成一個HTTP請求資料包;
3、封裝TCP包,建立連線這裡主要是透過TCP的三次握手機制來建立連線,建立連線後才能進行正常的通訊;
4、客戶端傳送請求在建立連線後,客戶端傳送HTTP請求;
5、伺服器迴應伺服器在接收到客戶端的請求後,會給予迴應資訊;
6、關閉TCP連線在通訊完成後會關閉TCP連線,但目前為了方便客戶持續的瀏覽同一網站的內容,節省網路頻寬和速度,在通訊完成後仍會處於一定時間的連線狀態(keep-alive);
透過HTTP的工作過程很容易發現其實在建立連線和斷開連線方面是基於TCP協議的,因此簡單來說HTTP協議是基於TCP協議來實現的。