首頁 > 常見問題 > http是一種主要用於什麼的協定?

http是一種主要用於什麼的協定?

青灯夜游
發布: 2020-10-23 15:20:15
原創
20977 人瀏覽過

http是一種主要用於在瀏覽器與伺服器間傳送資料的協定。 HTTP協議是因特網上應用最廣泛的一種網路傳輸協議,所有的WWW文件都必須遵守這個標準;它基於TCP/IP通訊協議來傳遞資料(HTML 文件, 圖片檔, 查詢結果等)。

http是一種主要用於什麼的協定?

http(HyperText Transfer Protocol,超文本傳輸協定)是一個簡單的請求-回應協議,它通常運行在TCP之上。它指定了客戶端可能發送給伺服器什麼樣的訊息以及得到什麼樣的回應。請求和回應訊息的頭以ASCII碼形式給出;而訊息內容則具有一個類似MIME的格式。這個簡單模型是早期Web成功的有功之臣,因為它使得開發和部署是那麼的直截了當。

HTTP誕生之初主要應用於WEB端內容獲取,那時候內容還不像現在這樣豐富,排版也沒那麼精美,用戶互動的場景幾乎沒有。對於這種簡單的取得網頁內容的場景,HTTP表現得還不錯。但隨著網路的發展和WEB2.0的誕生,更多的內容開始被展示(更多的圖片檔案),排版變得更精美(更多的CSS),更複雜的互動也被引入(更多的jS)。使用者開啟一個網站首頁所載入的資料總量和請求的個數也在不斷增加。

今天絕大部分的入口網站首頁大小都會超過2M,請求數量可以多達100個。另一個廣泛的應用是在行動互聯網的客戶端APP,不同性質的APP對HTTP的使用差異很大。對於電商類APP,載入首頁的請求也可能多達10多個。對於微信這類IM,HTTP請求可能僅限於語音和圖片檔案的下載,請求出現的頻率並不算高。

工作原理

HTTP是基於客戶/伺服器模式,且面向連線的。典型的HTTP事務處理有以下的過程:

(1)客戶與伺服器建立連線;

(2)客戶向伺服器提出請求;

(3)伺服器接受請求,並根據請求返回相應的文件作為應答;

(4)客戶與伺服器關閉連線。

客戶與伺服器之間的HTTP連接是一種一次性連接,它限制每次連接只處理一個請求,當伺服器返回本次請求的應答後便立即關閉連接,下次請求再重新建立連線。這種一次性連接主要考慮到WWW伺服器面向的是Internet中成乾上萬個用戶,且只能提供有限個連接,故伺服器不會讓一個連接處於等待狀態,及時地釋放連接可以大大提高伺服器的執行效率。

HTTP是一種無狀態協議,即伺服器不保留與客戶交易時的任何狀態。這就大大減輕了伺服器記憶負擔,從而保持較快的反應速度。 HTTP是一種物件導向的協定。允許傳送任意類型的資料物件。它透過資料類型和長度來標識所傳送的資料內容和大小,並允許對資料進行壓縮傳送。當使用者在一個HTML文件中定義了一個超文本鏈後,瀏覽器將透過TCP/IP協定與指定的伺服器建立連線。

技術上是客戶在一個特定的TCP連接埠(連接埠號碼一般為80)上開啟一個套接字。如果伺服器一直在這個週知的連接埠上傾聽連接,則該連接便會建立起來。然後客戶透過該連線發送一個包含請求方法的請求區塊。

HTTP規範定義了9種請求方法,每種請求方法都規定了客戶和伺服器之間不同的資訊交換方式,常用的請求方法是GET和POST。伺服器將根據客戶請求完成相應操作,並以應答區塊形式傳回給客戶,最後關閉連線。

以上是http是一種主要用於什麼的協定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板