淺析HTTP、HTTP1.0签则、HTTP1.1须床、HTTP2.0、HTTPS

image.png

最近在啃《HTTP權(quán)威指南》渐裂,該書有多優(yōu)秀眾所周知啊豺旬,光看不寫假把式,所以打算看書期間整理幾篇相關(guān)的文章柒凉。

一族阅、HTTP

HTTP(超文本傳輸協(xié)議,HyperText Transfer Protocol)是應(yīng)用層的協(xié)議膝捞,目前在互聯(lián)網(wǎng)中應(yīng)用廣泛坦刀。

它被設(shè)計(jì)用于Web瀏覽器和Web服務(wù)器之間的通信,但它也可以用于其他目的蔬咬。 HTTP遵循經(jīng)典的客戶端-服務(wù)端模型
鲤遥,客戶端打開一個連接以發(fā)出請求,然后等待它收到服務(wù)器端響應(yīng)林艘。 HTTP是
無狀態(tài)協(xié)議盖奈,意味著服務(wù)器不會在兩個請求之間保留任何數(shù)據(jù)(狀態(tài))。

二狐援、HTTP1.0 ——構(gòu)建可擴(kuò)展性

HTTP原有的應(yīng)用非常局限钢坦,瀏覽器和服務(wù)器迅速擴(kuò)展使其用途更廣:

  • 版本信息現(xiàn)在會隨著每個請求發(fā)送(HTTP1.0 被追加到GET行)

  • 狀態(tài)代碼行也會在響應(yīng)開始時發(fā)送,允許瀏覽器本身了解請求的成功或失敗咕村,并相應(yīng)地調(diào)整其行為(如以特定方式更新或使用本地緩存)

  • 引入了HTTP頭的概念场钉,無論是對于請求還是響應(yīng),允許傳輸元數(shù)據(jù)懈涛,并使協(xié)議非常靈活和可擴(kuò)展逛万。

  • 在新的HTTP頭的幫助下,增加了傳輸除純文本HTML文件外的其他類型文檔的能力批钠。(感謝 Content-Type頭)宇植。

同時還開始支持一種被稱為keep-alive連接的早期實(shí)驗(yàn)性持久連接,下圖顯示了keep-alive連接的一些性能優(yōu)點(diǎn)埋心,圖中將在串行連接上實(shí)現(xiàn)4個HTTP事務(wù)的時間線與在一條持久連接上實(shí)現(xiàn)同樣事務(wù)所需要的時間線進(jìn)行了比較指郁。由于去除了進(jìn)行連接和關(guān)閉連接的開銷,所以時間有所縮短拷呆。

compare.png

必須發(fā)送一個connection:Keep-Alive請求首部來激活keep-alive連接

三闲坎、HTTP1.1 ——標(biāo)準(zhǔn)化的協(xié)議

HTTP/1.0的多種不同的實(shí)現(xiàn)運(yùn)用起來有些混亂疫粥,HTTP1.1是第一個標(biāo)準(zhǔn)化版本,重點(diǎn)關(guān)注的是校正HTTP設(shè)計(jì)中的結(jié)構(gòu)性缺陷:

  • 連接可以重復(fù)使用腰懂,節(jié)省了多次打開它的時間梗逮,以顯示嵌入到單個原始文檔中的資源。

  • 增加流水線操作绣溜,允許在第一個應(yīng)答被完全發(fā)送之前發(fā)送第二個請求慷彤,以降低通信的延遲。

  • 支持響應(yīng)分塊怖喻。

  • 引入額外的緩存控制機(jī)制底哗。

  • 引入內(nèi)容協(xié)商,包括語言锚沸,編碼跋选,或類型,并允許客戶端和服務(wù)器約定以最適當(dāng)?shù)膬?nèi)容進(jìn)行交換咒吐。

  • 感謝 Host 頭野建,能夠使不同的域名配置在同一個IP地址的服務(wù)器。

  • 安全性得到了提高

在http1.1中恬叹,client和server都是默認(rèn)對方支持長鏈接的候生, 如果不希望使用長鏈接,則需要在header中指明connection:close绽昼;

四唯鸭、HTTP2.0——為了更優(yōu)異的表現(xiàn)

HTTP/2在HTTP/1.1有幾處基本的不同:

  • HTTP2是二進(jìn)制協(xié)議而不是文本協(xié)議。不再可讀和無障礙的手動創(chuàng)建硅确,改善的優(yōu)化技術(shù)現(xiàn)在可被實(shí)施目溉。
  • 這是一個復(fù)用協(xié)議。并行的請求能在同一個鏈接中處理菱农,移除了HTTP/1.x中順序和阻塞的約束缭付。
  • 壓縮了headers。因?yàn)閔eaders在一系列請求中常常是相似的循未,其移除了重復(fù)和傳輸重復(fù)數(shù)據(jù)的成本陷猫。
  • 其允許服務(wù)器在客戶端緩存中填充數(shù)據(jù),通過一個叫服務(wù)器推送的機(jī)制來提前請求的妖。

五绣檬、HTTPS

HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的嫂粟,因此使用HTTP協(xié)議傳輸隱私信息非常不安全娇未。為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計(jì)了SSL(Secure Sockets Layer)協(xié)議用于對HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密星虹,從而就誕生了HTTPS×闾В現(xiàn)在的HTTPS都是用的TLS協(xié)議镊讼,但是由于SSL出現(xiàn)的時間比較早,并且依舊被現(xiàn)在瀏覽器所支持平夜,因此SSL依然是HTTPS的代名詞狠毯。

image.png

HTTPS在傳輸數(shù)據(jù)之前需要客戶端(瀏覽器)與服務(wù)端(網(wǎng)站)之間進(jìn)行一次握手,在握手過程中將確立雙方加密傳輸數(shù)據(jù)的密碼信息褥芒。TLS/SSL協(xié)議不僅僅是一套加密傳輸?shù)膮f(xié)議,TLS/SSL中使用了非對稱加密嫡良,對稱加密以及HASH算法锰扶。


image.png

首先寝受,客戶端向服務(wù)器發(fā)出加密請求
服務(wù)器用自己的私鑰加密網(wǎng)頁坷牛,并連同本身的數(shù)字證書,發(fā)送給客戶端

image.png

客戶端的證書管理器中有“受信任的根證書頒發(fā)機(jī)構(gòu)”列表很澄,客戶端會根據(jù)這張列表京闰,查看解開數(shù)字證書的公鑰是否在列表之內(nèi)


image.png

如果數(shù)字證書記載的網(wǎng)址,與你正在瀏覽的網(wǎng)址不一致甩苛,說明這張證書可能被冒用蹂楣,瀏覽器發(fā)出警告

image.png

如果這張數(shù)字證書不是由受信任的機(jī)構(gòu)頒發(fā)的,瀏覽器會發(fā)出另一種警告

image.png

如果證書是可靠的讯蒲,客戶端就可以使用證書中的服務(wù)器公鑰痊土,對信息進(jìn)行加密,與服務(wù)器交換加密信息


image.png

最后建議大家也去看看《http權(quán)威指南》墨林,雖然可能很多地方都看不懂赁酝,但是第一遍可以大致翻閱一下,對知識點(diǎn)有個全局了解旭等,等實(shí)踐中遇到問題之后再查看酌呆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市搔耕,隨后出現(xiàn)的幾起案子隙袁,更是在濱河造成了極大的恐慌,老刑警劉巖度迂,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藤乙,死亡現(xiàn)場離奇詭異,居然都是意外死亡惭墓,警方通過查閱死者的電腦和手機(jī)坛梁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腊凶,“玉大人划咐,你說我怎么就攤上這事拴念。” “怎么了褐缠?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵政鼠,是天一觀的道長。 經(jīng)常有香客問我队魏,道長公般,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任胡桨,我火速辦了婚禮官帘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昧谊。我一直安慰自己刽虹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布呢诬。 她就那樣靜靜地躺著涌哲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尚镰。 梳的紋絲不亂的頭發(fā)上阀圾,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機(jī)與錄音钓猬,去河邊找鬼稍刀。 笑死,一個胖子當(dāng)著我的面吹牛敞曹,可吹牛的內(nèi)容都是我干的账月。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼澳迫,長吁一口氣:“原來是場噩夢啊……” “哼局齿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橄登,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抓歼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拢锹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谣妻,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年卒稳,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹋半。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡充坑,死狀恐怖减江,靈堂內(nèi)的尸體忽然破棺而出染突,到底是詐尸還是另有隱情,我是刑警寧澤辈灼,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布份企,位于F島的核電站,受9級特大地震影響巡莹,放射性物質(zhì)發(fā)生泄漏司志。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一降宅、第九天 我趴在偏房一處隱蔽的房頂上張望俐芯。 院中可真熱鬧,春花似錦钉鸯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吨述,卻和暖如春岩睁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揣云。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工捕儒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邓夕。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓刘莹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親焚刚。 傳聞我的和親對象是個殘疾皇子点弯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容