基於Http協議設計網頁應用優勢與不足

2021-10-02 02:48:04 字數 2090 閱讀 2605

1 多路復用

2 二進位制分幀

3 首部壓縮

4 服務推送

1 介紹

知乎上http/2.0 相比1.0有哪些重大改進?中leozhang的回答不錯可以看看。本文簡單總結下。

2 優點

主要優點肯定就是效能提公升大了。但是為什麼效能提公升大,其實主要還是由以下方面的改進帶來的。

2.1 多路復用.

多路復用 (multiplexing):多路復用允許同時通過單一的 http/2 連線發起多重的請求-響應訊息。

也就是說乙個tcp連線可以一次傳送和接受多個請求拉。

這樣實際上就避免了突發性和短時性的http連線效能差的問題了(因為tcp協議裡面有慢啟動,開始都很慢的).

2.2 二進位制分幀

就是多加了一層,專門將訊息分成了更小的二進位制編碼的幀。減少了傳輸量。

2.3 首部壓縮

新的壓縮演算法,減小首部大小,提公升傳送效率。

2.4 服務推送

客戶端請求乙個資源,服務端把客戶端可能需要請求的其他資源一起主動發給它,減少了互動次數。另外服務端還能快取這樣的資源,提公升效率。

**知識點的梳理:

http的不足:

通訊使用明文,內容可能會被竊聽;

不驗證通訊方的身份,因此有可能遭遇偽裝;

無法證明報文的完整性,有可能已遭篡改;

通訊使用明文可能會被竊取

http本身不具備加密的功能,無法做到對通訊整體進行加密。

按tcp/ip協議族的工作機制,通訊內容在所有的通訊線路(即網際網路)上都有可能遭到窺視;

通訊即使加密,也會被窺視到,只不過窺視到的是密文;

竊聽相同段上的通訊非常簡單。只需要收集流動在網際網路上的資料報(幀)就可以了。解析這些包的工作,可以交給抓包(packet capture)或嗅探器(sniffer)工具;

加密處理防止被竊聽,加密的物件有以下幾個:

通訊的加密:可通過ssl(安全套接層)或tls(完全層傳輸協議)的組合使用,加密http的通訊內容;

用ssl建立安全銅線線路之後,就可以在這條線路上進行http通訊了。與ssl組合使用的http被稱為https(超文字傳輸安全協議)或http over ssl.

內容的加密:對http協議傳輸的內容本身加密。即把http報文裡所含的內容進行加密處理;

有效加密的前提是,要求客戶端和伺服器同時具備加密和解密機制。主要應用在web服務中。該方式不同於ssl或tls將整個通訊線路加密處理,所以內容仍有被篡改的風險。

不驗證通訊放的身份就可能遭遇偽裝

http協議中的請求和響應不會對通訊方進行確認;

也就是說,"伺服器是否就是傳送請求中uri真正指定的主機,返回的響應是否真的返回到實際提出請求的客戶端"等問題;

任何人都可發起請求

http協議通訊不存在確認通訊方的處理步驟,任何人都可以傳送請求;

伺服器只接收到請求,不管對方是誰都會返回乙個響應(前提:僅限於傳送端的ip位址和埠號沒有被web伺服器設定限制訪問的前提下),這樣會存在以下隱患:

無法確定請求傳送至目標的web伺服器是否是按真實意圖返回響應的那台伺服器。有可能是已偽裝的web伺服器;

無法確定響應返回到的客戶端是否是按真實意圖接收響應的那個客戶端。有可能是已偽裝的客戶端;

無法確定正在通訊的對方是否具備訪問許可權;

無法判定請求是來在何方,出自誰手;

即使是無意義的請求也會照單全收。無法阻止海量請求下的dos攻擊(拒絕服務攻擊);

查明對手的證書

雖然http協議無法確定通訊方,但ssl可以。ssl不僅提供加密處理,而且還使用了一種被稱為證書的手段,應用於確定方;

證書由信賴的第三方機構頒發,用以證明伺服器和客戶端是實際存在的;

偽造證書從技術角度來看是及其困難的;

客戶端持有證書即可完成個人身份的確認,也可用於web**的認證環節;

無法證明報文完整性,可能已遭篡改

完整性是指資訊的準確度。如果無法證明其完整性,通常也就意味著無法判斷資訊是否準確;

接收到的內容可能有誤

http協議無法證明通訊的報文完整性,在請求或響應送出之後直到對方接收之前的這段時間內,如果請求或響應遭到篡改,是沒有辦法獲悉的;

//下面是一些理論知識了解即可

設計網頁文字內容

標題文字標記 共有6種,字型大小從大到小。標題文字的對齊方式 align 有3種 left,center,right。設定文字格式 設定文字字型 face 應用了該字型的文字 設定字型大小 size 1 7或 1 7或 1 7。設定文字顏色 color 粗體 斜體 下劃線 strong 或b em ...

SiteMesh,設計網頁架構

sitemesh通過decorator的設計模式,十分利索地達到了目的。其設計思想是,使用者傳送request至伺服器,伺服器根據此request生成動態資料,生成網頁,準備返回給客戶端。就在返回前,sitemesh進行攔截,對此網頁進行解析,將title body等部分拆解出來,套上模板後,再返回...

使用HTML設計網頁

html doctype html 詩集body center 那一天 倉央嘉措 龍澤索南 那一天.type 那一天,閉目在經殿香霧中,驀然聽見,你誦經中的真言 那一月,我搖動所有的經筒,不為超度,只為觸 的指尖 那一年,磕長頭匍匐在山路,不為覲見,只為貼著你的溫暖 那一世,轉山轉水轉佛塔啊,不為修...