讀《圖解HTTP》

關(guān)于HTTP的知識分飞,七七八八也了解過一些悴务,總覺得很零散。

如果去翻看三卷本的TCP/IP的話譬猫,倒是大而全了讯檐,關(guān)鍵是,看得下去么染服?

某天看到有人推薦這么一本書《圖解HTTP》别洪,說淺顯易懂而又不失風(fēng)趣。翻了一下確實如此柳刮,于是來作個筆記挖垛。

1. 簡介

目前主流的HTTP協(xié)議版本是1997年1月公布的1.1,最初的標(biāo)準(zhǔn)是RFC2068秉颗,之后發(fā)布了修訂版RFC2616. 而新一代2.0正在制訂中痢毒。

現(xiàn)在HTTP協(xié)議已經(jīng)超出了web這個框架的局限,被運(yùn)用到了各種場景里蚕甥。

疑問:(是么哪替?還有什么場景?)

2. 簡單的HTTP協(xié)議

HTTP用于客戶端和服務(wù)器端之間的通信菇怀,請求必定由客戶端發(fā)出夷家,服務(wù)器端回復(fù)響應(yīng)。

請求報文包括:方法敏释,uri库快,協(xié)議版本,請求首部字段钥顽,內(nèi)容實體

響應(yīng)報文包括:協(xié)議版本义屏,狀態(tài)碼,用以解釋狀態(tài)碼的原因短語蜂大,可選的響應(yīng)首部字段以及實體主體

HTTP協(xié)議自身不具備保存之前發(fā)送過的請求或響應(yīng)的功能闽铐,有了cookie再使用HTTP協(xié)議通信,就可以管理狀態(tài)了奶浦。

請求URI的方式

  • URI為完整的請求URI

  • 在首部字段host中寫明網(wǎng)絡(luò)域名或IP地址

如果是對服務(wù)器本身發(fā)起請求兄墅,可以用一個*來代替請求URI,如:OPTIONS * HTTP/1.1

告知服務(wù)器意圖的HTTP方法

  • get 獲取資源

  • post 傳輸實體主體

  • put 傳輸文件

鑒于HTTP 1.1的put方法自身不帶驗證機(jī)制澳叉,因此一般web網(wǎng)站不使用該方法隙咸。若配合web應(yīng)用程序的驗證機(jī)制沐悦,或架構(gòu)設(shè)計采用REST標(biāo)準(zhǔn)的同類網(wǎng)站,就可能會開放使用put方法五督。

  • head 獲得報文首部

  • delete 刪除文件

和put一樣不帶驗證機(jī)制藏否。當(dāng)配合web應(yīng)用程序的驗證機(jī)制,或遵守REST標(biāo)準(zhǔn)時還是有可能會開放使用的充包。

  • options 詢問支持的方法

  • trace 追蹤路徑

  • connect 要求用隧道協(xié)議連接代理

持久連接

HTTP協(xié)議的初始版本中副签,每進(jìn)行一次HTTP通信就要斷開一次TCP連接。

隨著HTTP普及基矮,文檔中包含大量圖片的情況變多淆储,發(fā)送請求訪問HTML頁面資源的同時,也會請求該HTML頁面里面包含的其他資源家浇。這樣遏考,每次請求都會造成無謂的TCP連接建立和斷開,增加通信量的開銷蓝谨。

持久連接(HTTP Persistent Connections, 也稱為HTTP keep-alive 或 HTTP connection reuse)灌具,特點(diǎn)是,只要任意一端沒有明確提出斷開連接譬巫,則保持TCP連接狀態(tài)咖楣。

在 HTTP 1.1 中,所有的鏈接默認(rèn)都是持久連接芦昔。持久連接旨在建立1次TCP連接后進(jìn)行多次請求和響應(yīng)的交互诱贿。

管線化

持久連接使得多數(shù)請求以管線化 (pipellining) 方式發(fā)送成為可能。
管線化技術(shù)出現(xiàn)后咕缎,不用等待相應(yīng)亦可直接發(fā)送下一個請求珠十。這樣就能做到同時并行發(fā)送多個請求,而不需要一個接一個地等待響應(yīng)了凭豪。

使用cookie的狀態(tài)管理

Cookie技術(shù)通過在請求和響應(yīng)報文中寫入 Cookie信息來控制客戶端的狀態(tài)焙蹭。

Cookie會根據(jù)從服務(wù)器端發(fā)送的響應(yīng)報文內(nèi)的一個叫做 Set-Cookie的首部字段信息,通知客戶端保存Cookie嫂伞。當(dāng)下次客戶端再往該服務(wù)器發(fā)送請求時孔厉,客戶端會自動在請求報文中加入 Cookie值后發(fā)送出去。

服務(wù)器端發(fā)現(xiàn)客戶端發(fā)送過來的 Cookie后帖努,會去檢查究竟是從哪一個客戶端發(fā)來的連接請求撰豺,然后對比服務(wù)器上的記錄,最后得到之前的狀態(tài)信息拼余。

HTTP狀態(tài)碼
類別 原因短語
1xx 信息性狀態(tài)碼
2xx
3xx
4xx
5xx

經(jīng)常使用的狀態(tài)碼大概有14種

HTTP首部字段類型
通用
請求
響應(yīng)
實體

具體的字段和詳細(xì)內(nèi)容污桦,用到的時候再查文檔,太細(xì)的東西也不用背下來匙监,用的時候拿來就好凡橱。

確保安全的HTTPS

tcpip是可能被竊聽的網(wǎng)絡(luò)
加密處理方法
通信的加密
內(nèi)容的加密

HTTP+加密+認(rèn)證+完整性保護(hù)=HTTPS

HTTPS是身批ssl外殼的HTTP
通信接口部分用ssl和tls協(xié)議代替
ssl是獨(dú)立與HTTP的協(xié)議小作,是當(dāng)今世界上應(yīng)用最為廣泛的網(wǎng)絡(luò)安全技術(shù)

https采用共享密鑰加密和公開密鑰加密兩者并用的混合加密機(jī)制。
在交換密鑰環(huán)節(jié)使用公開密鑰加密方式梭纹,之后的建立通信交換報文階段則使用共享密鑰加密方式躲惰。
使用ca和其相關(guān)機(jī)關(guān)頒發(fā)的公開密鑰證書致份。
要進(jìn)行https通信变抽,證書是必不可少的。

然后下面還介紹了幾種證書氮块,有需要的時候可以再翻書绍载。

HTTPs的安全通信機(jī)制

web的攻擊技術(shù)
這個可以稍微了解一下

(未完待續(xù))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市滔蝉,隨后出現(xiàn)的幾起案子击儡,更是在濱河造成了極大的恐慌,老刑警劉巖蝠引,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳谍,死亡現(xiàn)場離奇詭異,居然都是意外死亡螃概,警方通過查閱死者的電腦和手機(jī)矫夯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吊洼,“玉大人训貌,你說我怎么就攤上這事∶扒希” “怎么了递沪?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長综液。 經(jīng)常有香客問我款慨,道長,這世上最難降的妖魔是什么谬莹? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任樱调,我火速辦了婚禮,結(jié)果婚禮上届良,老公的妹妹穿的比我還像新娘笆凌。我一直安慰自己,他們只是感情好士葫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布乞而。 她就那樣靜靜地躺著,像睡著了一般慢显。 火紅的嫁衣襯著肌膚如雪爪模。 梳的紋絲不亂的頭發(fā)上欠啤,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機(jī)與錄音屋灌,去河邊找鬼洁段。 笑死,一個胖子當(dāng)著我的面吹牛共郭,可吹牛的內(nèi)容都是我干的祠丝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼除嘹,長吁一口氣:“原來是場噩夢啊……” “哼写半!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起尉咕,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤叠蝇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后年缎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悔捶,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年单芜,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜕该。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡缓溅,死狀恐怖蛇损,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情坛怪,我是刑警寧澤淤齐,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站袜匿,受9級特大地震影響更啄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜居灯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一祭务、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怪嫌,春花似錦义锥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春柱恤,著一層夾襖步出監(jiān)牢的瞬間数初,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工梗顺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泡孩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓寺谤,卻偏偏與公主長得像仑鸥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子矗漾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

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

  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族锈候,HTTP屬于它內(nèi)部的一個子集薄料。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,444評論 0 20
  • 一敞贡、了解Web及網(wǎng)絡(luò)基礎(chǔ) CERN,歐洲核子研究組織摄职,最先提出一種能讓遠(yuǎn)隔兩地的研究者們共享知識的設(shè)想誊役。 1、網(wǎng)絡(luò)...
    大鵬鳥閱讀 683評論 0 2
  • 前言 如果沒有體系化的認(rèn)知谷市,了解的信息越多也就越迷茫蛔垢!如果對本質(zhì)的認(rèn)知就是錯的,了解的信息越多偏差也就越大迫悠!信息絕...
    只敲代碼不偷桃閱讀 1,683評論 0 3
  • 最近關(guān)注了簡書達(dá)人彭小六鹏漆,被他筆耕不輟的精神深深感染。同樣生活在3線城市创泄,有著一份朝九晚五的工作艺玲,馬上奔三的...
    一直優(yōu)雅的貓閱讀 261評論 0 1
  • 持續(xù)更新中... github:Swift基礎(chǔ)實例github:SwiftBasicTableView type ...
    廚子閱讀 1,437評論 0 4