HTTP協議的特點

2021-09-11 12:10:43 字數 1475 閱讀 3627

上篇文章簡單介紹了與http關係密切的協議(ip、tcp、dns),是為了大家對http有乙個整體的認識。

做為http協議系列文章,http才是主角。

這一節,我們來談談http協議的特點,以及一些不足。

網路世界中的兩台計算機,就像現實世界中的兩個陌生人一樣,要想搭上關係,首先得先說上話。

在網路世界中,先開口的,被稱為客戶端。而做出回應的,被稱為服務端。

也就是說,在一條通訊線路上,客戶端用於請求資源,服務端用於提供資源。

事實上,http協議還規定了:

關於這兩點,請先有個印象,後面談到http協議的侷限性時還會談到。

對http有點了解的童鞋應該都知道,http協議是無連線的。

也就是說,每進行一次http通訊,都要斷開一次tcp連線。

這是因為http誕生之初,主要是為了應付容易很小的文字傳輸,所以即使這樣也沒多大的問題。

可隨著http的普及,文件中包含大量的情況多了起來,每次請求完都要斷開tcp連線,無疑增加通訊量的開銷。

為了解決tcp的連線問題,http1.1提出了持久連線的方法。

所謂的持久連線,就是任意一端只要沒有明確提出斷開連線,則保持tcp連線狀態。

這樣一來,就減少了tcp連線的重複建立和斷開所造成的額外開銷,減輕了服務端的負載,web頁面的顯示速度也就相應的提高了。

更重要的是,持久連線使得管線化成為可能。從前傳送請求後,需要收到響應了才能傳送下乙個請求。管線化技術出現後,不用等待響應也可以直接傳送下乙個請求了。

這樣就能夠做到同時並行傳送多個請求,而不需要乙個接乙個地等待響應。

管線化的效果是立竿見影的。持久連線可以讓請求更快結束,而管線化技術則比持久連線還要快,而且請求數越多,時間差就越明顯。

除了無連線,http的另乙個特點是無狀態。

也就是說,http協議無法根據之前的狀態進行本次的請求處理。

不可否認,不儲存狀態是有他的優點的,可以減少伺服器的cpu及記憶體資源的消耗。但問題也是顯而易見。

假設系統需要登入後才能訪問,由於無狀態的特點,每次跳轉頁面都需要重新登入,這是難以想象的。

為了解決無狀態的問題,引入了cookie技術。

cookie技術通過在請求和響應報文中寫入cookie資訊來控制客戶端的狀態。

首次訪問服務端時,響應報文內會返回乙個叫set-cookie的首部字段資訊,通知客戶端儲存cookie。當下次客戶端再往該伺服器傳送請求時,客戶端會自動在請求報文中加入cookie值後傳送出去。

服務端發現客戶端傳送過來的cookie後,會去檢查究竟是從哪個客戶端傳送來的請求,然後對比伺服器上的記錄,最後得到之前的狀態資訊。

有關請求報文和響應報文內的cookie對應的首部字段,接下來還會詳細介紹。

最後還要囉嗦一句,現在http的很多問題,看著很費解,你很難想象http協議的設計者為什麼會設計出如此漏洞百出的協議。

但就像開頭所說的,技術的發展都有其侷限性,http協議也是如此。

理解技術的侷限性,有利於我們開拓視野,對以後的學習是有幫助的~

HTTP協議特點

協議特點 協議是基於tcp ip協議之上的應用層協議.基於請求 響應 的模式 http協議規定,請求從客戶端發出,最後伺服器端響應該請求並 返回。換句話說,肯定是先從客戶端開始建立通訊的,伺服器端在沒有 接收到請求之前不會傳送響應 無狀態儲存 http是一種不儲存狀態,即無狀態 stateless ...

HTTP協議的特點

http 是乙個屬於應用層的物件導向的協議,http 協議一共有五大特點 1 支援客戶 伺服器模式 2 簡單快速 3 靈活 4 無連線 5 無狀態。無連線無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。早期這麼做的原因是...

HTTP協議的概念作用和特點

相應 伺服器將請求的處理結果傳送給瀏覽器的過程叫響應。什麼是http?概念 超文字傳輸協議。http有什麼作用?作用 規範了瀏覽器和伺服器的資料互動格式。http有什麼特點?特點 簡單快捷,靈活,無連線,無狀態。客戶端,伺服器架構client server 特點 在伺服器當中就主要是乙個資料庫,把所...