《圖解http》第八单鹿、九章

第八章 確認訪問用戶身份的認證
1.http使用的認證方式
basic認證:basic認證采用base64編碼,但不是加密處理钾菊。安全性低。
digest認證:使用質(zhì)詢/相應的方式偎肃,但不會像basic認證那樣直接發(fā)送明文密碼煞烫。
所謂質(zhì)詢響應方式是指,一開始一方會先發(fā)送認證要求給另一方累颂,接著使用從另一方那接收到的質(zhì)詢碼計算生成響應碼滞详。最后將響應碼返回給對方進行認證的方式。
因為發(fā)送給對方的只是響應摘要及由質(zhì)詢碼產(chǎn)生的計算結(jié)果紊馏,所以比起B(yǎng)ASIC認證料饥,密碼泄露的可能性就降低了。
客戶端——1.發(fā)送臨時的質(zhì)詢碼(隨機數(shù)朱监,nonce)以及告知需要認證的狀態(tài)碼401——2.發(fā)送摘要以及由質(zhì)詢碼計算出的響應碼(response)——3.認證成功返回狀態(tài)碼200岸啡,失敗則再次發(fā)送狀態(tài)碼401
ssl客戶端認證:
多數(shù)情況下,ssl客戶端認證不會僅依靠證書完成認證赫编,一般會和基于表單認證(稍后講解)組合形成一種雙因素認證(Two-factorauthentication)來使用巡蘸。
。所謂雙因素認證就是指擂送,認證過程中不僅需要密碼這一個因素悦荒,還需要申請認證者提供其他持有信息,從而作為另一個因素嘹吨,與其組合使用的認證方式搬味。
基于表單認證:
基于表單認證本身是通過服務器端的Web應用,將客戶端發(fā)送過來的用戶ID和密碼與之前登錄過的信息做匹配來進行認證的。


YD)JHMZW8CRB`OLEZ9%ABIV.png

步驟1:
客戶端把用戶ID
和密碼等登錄信息放入報文的實體部分碰纬,通常是以POST方法把請求發(fā)送給服務器萍聊。而這時,會使用HTTPS通信來進行HTML表單畫面的顯示和用戶輸入數(shù)據(jù)的發(fā)送悦析。
步驟2:
服務器會發(fā)放用以識別用戶的Session ID寿桨。通過驗證從客戶端發(fā)送過來的登錄信息進行身份認證,然后把用戶的認證狀態(tài)Session ID綁定后記錄在服務器端她按。
向客戶端返回響應時,會在首部字段Set-Cookie內(nèi)寫入SessionID炕柔。
步驟3:
客戶端接收到從服務器端發(fā)來的Session ID后酌泰,會將其作為Cookie保存在本地。下次向服務器發(fā)送請求時匕累,瀏覽器會自動發(fā)Cookie
陵刹,所以Session ID也隨之發(fā)送到服務器。服務器端可通過驗證接收到的Session ID識別用戶和其認證狀態(tài)欢嘿。

第九章基于http功能追加協(xié)議
1.Google在2010年發(fā)布了SPDY(取自SPeeDY衰琐,發(fā)音同speedy),其開發(fā)目標只在解決http的性能瓶頸炼蹦,縮短web頁面的加載時間(50%)羡宙。
2.ajax是一種有效利用JavaScript和dom(document object model文檔對象模型)的操作,以達到局部web頁面替換加載的異步通信手段掐隐。
而利用Ajax實時地從服務器獲取內(nèi)容狗热,有可能會導致大量請求產(chǎn)生。另外虑省,Ajax仍未解決HTTP協(xié)議本身存在的問題匿刮。
comet的解決方法
一旦服務器端有內(nèi)容更新了,Comet不會讓請求等待探颈,而是直接給客戶端返回響應熟丸。這是一種通過延遲應答,模擬實現(xiàn)服務器端向客戶端推送(Server Push)的功能伪节。
通常光羞,服務器端接收到請求,在處理完畢后就會立即返回響應怀大,但為了實現(xiàn)推送功能狞山,Comet會先將響應置于掛起狀態(tài),當服務器端有內(nèi)容更新時叉寂,再返回該響應萍启。因此,服務器端一旦有更新,就可以立即反饋給客戶端勘纯。
內(nèi)容上雖然可以做到實時更新局服,但為了保留響應,一次連接的持續(xù)時間也變長了驳遵。期間淫奔,為了維持連接會消耗更多的資源。另外堤结,Comet也仍未解決HTTP協(xié)議本身存在的問題唆迁。
3.spdy的設(shè)計與功能
SPDY沒有完全改寫HTTP協(xié)議竞穷,而是在TCP/IP的應用層與運輸層之SPDY間通過新加會話層的形式運作鼠哥。同時,考慮到安全性問題,規(guī)定通信中使用SSL于颖。

6KN8JJ`9IZ({07R@3~QB671.png

使用spdy后谴垫,http協(xié)議額外獲得以下功能乳怎。
多路復用流:
通過單一tcp連接恕出,可以無限制處理多個http
請求金蜀。
賦予請求優(yōu)先級:
SPDY不僅可以無限制地并發(fā)處理請求尝胆,還可以給請求逐個分配優(yōu)先級順序。這樣主要是為了在發(fā)送多個請求時贪染,解決因帶寬低而導致響應變慢的問題。
壓縮http首部:
壓縮HTTP請求和響應的首部寺渗。這樣一來汁果,通信產(chǎn)生的數(shù)據(jù)包數(shù)量和發(fā)送的字節(jié)數(shù)就更少了。
推送功能:
支持服務器主動向客戶端推送數(shù)據(jù)的功能棘利。這樣,服務器可直接發(fā)送數(shù)據(jù),而不必等待客戶端的請求系冗。
服務器提示功能:
服務器可以主動提示客戶端請求所需的資源。由于在客戶端發(fā)現(xiàn)資源之前就可以獲知資源的存在,因此在資源已緩存等情況下拄养,可以避免發(fā)送不必要的請求寻馏。
4.websocket協(xié)議
一旦Web服務器與客戶端之間建立起WebSocket協(xié)議的通信連接,之后所有的通信都依靠這個專用協(xié)議進行。通信過程中可互相發(fā)送JSON唧垦、XML振亮、HTML或圖片等任意格式的數(shù)據(jù)。
websocket協(xié)議主要特點:
推送功能
支持由服務器向客戶端推送數(shù)據(jù)的推送功能鞭莽。這樣澎怒,服務器可直接發(fā)送數(shù)據(jù)褒搔,而不必等待客戶端的請求乖酬。
減少通信量:
只要建立起WebSocket連接,就希望一直保持連接狀態(tài)审洞。和HTTP相比芒澜,不但每次連接時的總開銷減少仰剿,而且由于WebSocket的首部信息很小,通信量也相應減少了南吮。
![ZAR}]APRKJZNN{JXZ00YS$4.png](https://upload-images.jianshu.io/upload_images/9284422-4e5f3bcc1a484314.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末部凑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子碧浊,更是在濱河造成了極大的恐慌涂邀,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辉词,死亡現(xiàn)場離奇詭異必孤,居然都是意外死亡猾骡,警方通過查閱死者的電腦和手機瑞躺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兴想,“玉大人幢哨,你說我怎么就攤上這事∩┍悖” “怎么了捞镰?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長毙替。 經(jīng)常有香客問我岸售,道長,這世上最難降的妖魔是什么厂画? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任凸丸,我火速辦了婚禮,結(jié)果婚禮上袱院,老公的妹妹穿的比我還像新娘屎慢。我一直安慰自己瞭稼,他們只是感情好,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布腻惠。 她就那樣靜靜地躺著环肘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪集灌。 梳的紋絲不亂的頭發(fā)上悔雹,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音欣喧,去河邊找鬼荠商。 笑死,一個胖子當著我的面吹牛续誉,可吹牛的內(nèi)容都是我干的莱没。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼酷鸦,長吁一口氣:“原來是場噩夢啊……” “哼饰躲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起臼隔,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘹裂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后摔握,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寄狼,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年氨淌,在試婚紗的時候發(fā)現(xiàn)自己被綠了泊愧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡盛正,死狀恐怖删咱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豪筝,我是刑警寧澤痰滋,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站续崖,受9級特大地震影響敲街,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜严望,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一多艇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧著蟹,春花似錦墩蔓、人聲如沸梢莽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昏名。三九已至,卻和暖如春阵面,著一層夾襖步出監(jiān)牢的瞬間轻局,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工样刷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仑扑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓置鼻,卻偏偏與公主長得像镇饮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子箕母,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

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

  • 每日推薦: 每日一歌――老狼《來自我心》 每日一詩――唐·李賀《將進酒·琉璃鐘》 琉璃鐘储藐,琥珀濃,小槽酒滴真珠紅嘶是。...
    薩拉芯雪閱讀 216評論 0 2
  • 女主的名字:蘇夏 女主的仇家(花花公子):林煊 仇家的妹妹:林歆 女主的男閨蜜(大發(fā)明家):萬瑞熊 女主的男閨蜜(...
    亡魂師閱讀 616評論 0 0
  • 今天畫了這個簡單的頭像钙勃,給他換一下吧,這個能好點吧聂喇,這個簡單辖源,但是線條畫的不好,櫻花筆還沒到呢希太,再努力克饶!
    心大的喵閱讀 424評論 9 8
  • 青剎 棘蘭多亞H-r720號研究基地,與世隔絕跛十,隱蔽在喜馬拉雅山脈的某個深谷之中彤路,如同血腥末日中一片被遺忘的凈土秕硝。...
    甲骨組閱讀 193評論 0 0