http協議詳解(一)HTTP協議基礎

2021-08-15 20:59:52 字數 1833 閱讀 8635

最近在看一些http的東西,http比較雜,大致整理了一下,用思維導圖的方式呈現了出來。我會分幾個板塊來介紹http協議,具體的板塊也在下面的思維導圖中標註出來了,盡量以簡潔的方式為大家呈現http的內容。初寫部落格,文中有些紕漏的地方還請大家指點。

http:超文字傳輸協議,本質上是一種通訊協議。用來將html從服務端傳送到客戶端。

簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。

無連線:無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。

request請求頭

請求方法/請求檔案/協議             get/960.js/http/1.1

使用者資訊                                   useragent:核心、系統、瀏覽器等資訊

可接受返回型別                         accept:顯示可以接收的資料型別

來自頁面                                   forward:從哪個頁面跳轉而來

可接受的編碼方式                     accept-encoding                             

可接受的語言                            accept-language

是否使用快取                            if-none-match

最後修改時間                            if-modifiled-sine

注:最後兩項是http的快取機制,如果允許使用快取,並且本地快取的頁面與當前請求的頁面的最後修改時間一致,則直接使用本地的快取檔案。

response返回頭

注:chrome瀏覽器擷取的部分頭資訊,通用部分已經被提取掉了,大家要看詳細的返回頭資訊,可以用專業的抓包工具檢視。只是單純作為乙個栗子。

協議/狀態碼                       http/1.1 304

伺服器軟體資訊

生成時間                            date

檔案的最後修改時間           if-modifiled-sine

etag                                 #和if-none-match一起使用

快取過期時間                     expires

快取機制

**連線                            keep-alive

注:**連線這塊,是http1.1的特性,是乙個改良。因為http是應用層的協議,基於tcp之上,所以對tcp的優化對http同樣管用。keep-alive就是在乙個tcp連線之上允許傳輸多個http請求,所以當乙個tcp連線建立的時候,不會在http請求之後斷開,而是保持一段時間。

HTTP協議詳解(一)

http協議 hypertext transfer protocol,超文字傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議,所有的www檔案都必須遵守這個標準。http是乙個基於tcp ip通訊協議來傳遞資料 html 檔案,檔案,查詢結果等 完整的url 模式 或稱協du議 網域名稱 或ip...

詳解 HTTP協議 (一) HTTP 介紹

http 簡介 http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網 www world wide web 伺服器傳輸超文字到本地瀏覽器的傳送協議。http是乙個基於tcp ip通行協議來傳遞資料 html檔案 檔案 查詢結果等 http...

Http協議詳解

http協議是乙個基於tcp ip 的協議,使用的是一種請求 響應模型 目前的版本為1。1,但有一些 仍然使用1。0的版本,在待會的實驗中,我們可以看到,網易的主頁163.com仍舊使用的1.0的標準。1 何為請求 響應機制 在這一種機制中,總是客戶端請求伺服器,伺服器接受響應後根據請求端的請求資訊...