出版時(shí)間:2012-9 出版社:人民郵電出版社 作者:David Gourley,Brian Totty 頁(yè)數(shù):694 譯者:陳涓,趙振平
Tag標(biāo)簽:無(wú)
內(nèi)容概要
《HTTP權(quán)威指南》是HTTP及其相關(guān)核心Web技術(shù)方面的權(quán)威著作,主要介紹了Web應(yīng)用程序是如何工作的,核心的因特網(wǎng)協(xié)議如何與架構(gòu)構(gòu)建塊交互,如何正確實(shí)現(xiàn)因特網(wǎng)客戶(hù)和服務(wù)器等。
《HTTP權(quán)威指南》適合所有想了解HTTP和Web底層結(jié)構(gòu)的人閱讀。
作者簡(jiǎn)介
David Gourley是Endeca的首席技術(shù)官(Chief Technology
Officer),負(fù)責(zé)Endeca產(chǎn)品的研究及開(kāi)發(fā)。Endeca開(kāi)發(fā)的因特網(wǎng)及內(nèi)部網(wǎng)絡(luò)信息訪(fǎng)問(wèn)解決方案為企業(yè)級(jí)數(shù)據(jù)的導(dǎo)航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基礎(chǔ)工程組的一員,他在那兒幫助開(kāi)發(fā)了Inktomi的因特網(wǎng)搜索數(shù)據(jù)庫(kù),是Inktomi的Web緩存產(chǎn)品的主要開(kāi)發(fā)者。
David在加州大學(xué)伯克利分校獲得了計(jì)算機(jī)科學(xué)的學(xué)士學(xué)位,還擁有Web技術(shù)方面的幾項(xiàng)專(zhuān)利。 Brian
Totty最近出任了Inktomi公司(這是1996年他參與建立的一家公司)研發(fā)部副總裁,在公司中他負(fù)責(zé)Web緩存、流媒體及因特網(wǎng)搜索技術(shù)的研發(fā)工作。他曾是Silicon
Graphics公司的一名科學(xué)家,他在那兒為高性能網(wǎng)絡(luò)和超級(jí)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)軟件并對(duì)其進(jìn)行優(yōu)化。在那之前,他是蘋(píng)果計(jì)算機(jī)公司高級(jí)技術(shù)組的一名工程師。
Brian在伊利諾伊大學(xué)Urbana-Champaign分校獲得了計(jì)算機(jī)科學(xué)的博士學(xué)位,在MIT獲得了計(jì)算機(jī)科學(xué)及電子工程的學(xué)士學(xué)位,在那里他獲得了計(jì)算機(jī)系統(tǒng)研究的Organick獎(jiǎng)。他還為加州大學(xué)擴(kuò)展系統(tǒng)開(kāi)發(fā)并講授了一些屢獲殊榮的因特網(wǎng)技術(shù)方面的課程。
Marjorie
Sayer在Inktomi公司負(fù)責(zé)編寫(xiě)Web緩存方面的軟件。在加州大學(xué)伯克利分校獲得了數(shù)學(xué)碩士和博士學(xué)位之后,一直致力于數(shù)學(xué)課程的改革。從1990年開(kāi)始致力于能量資源管理、并行系統(tǒng)軟件、電話(huà)和網(wǎng)絡(luò)方面的寫(xiě)作。
Sailu Reddy目前在Inktomi公司負(fù)責(zé)嵌入式的性能增強(qiáng)型HTTP
代理的開(kāi)發(fā)。Sailu從事復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)已經(jīng)有12年了,從1995年開(kāi)始深入Web架構(gòu)的研發(fā)工作。他是Netscape第一臺(tái)Web服務(wù)器、Web
代理產(chǎn)品,以及后面幾代產(chǎn)品的核心工程師。他具備HTTP應(yīng)用程序、數(shù)據(jù)壓縮技術(shù)、數(shù)據(jù)庫(kù)引擎以及合作管理等方面的技術(shù)經(jīng)驗(yàn)。Sailu在亞里桑那大學(xué)獲得了信息系統(tǒng)的碩士學(xué)位并握有Web技術(shù)方面的多項(xiàng)專(zhuān)利。
Anshu
Aggarwal是Inktomi公司的工程總監(jiān)。他領(lǐng)導(dǎo)著Inktomi公司W(wǎng)eb緩存產(chǎn)品的協(xié)議處理工程組,從1997年就開(kāi)始參與Inktomi的Web技術(shù)設(shè)計(jì)工作。Anshu在科羅拉多大學(xué)Boulder分校獲得了計(jì)算機(jī)科學(xué)的碩士和博士學(xué)位,從事分布式多處理器的內(nèi)存一致性技術(shù)研究。他還擁有電子工程的碩士和學(xué)士學(xué)位。Anshu撰寫(xiě)了多篇技術(shù)論文,還擁有兩項(xiàng)專(zhuān)利。
書(shū)籍目錄
第一部分 HTTP:Web的基礎(chǔ)<br>
<br>
第1章 HTTP概述 3<br>
1.1 HTTP——因特網(wǎng)的多媒體信使 4<br>
1.2 Web客戶(hù)端和服務(wù)器 4<br>
1.3 資源 5<br>
1.3.1 媒體類(lèi)型 6<br>
1.3.2 URI 7<br>
1.3.3 URL 7<br>
1.3.4 URN 8<br>
1.4 事務(wù) 9<br>
1.4.1 方法 9<br>
1.4.2 狀態(tài)碼 10<br>
1.4.3 Web頁(yè)面中可以包含多個(gè)對(duì)象 10<br>
1.5 報(bào)文 11<br>
1.6 連接 13<br>
1.6.1 TCP/IP 13<br>
1.6.2 連接、IP地址及端口號(hào) 14<br>
1.6.3 使用Telnet實(shí)例 16<br>
1.7 協(xié)議版本 18<br>
1.8 Web的結(jié)構(gòu)組件 19<br>
1.8.1 代理 19<br>
1.8.2 緩存 20<br>
1.8.3 網(wǎng)關(guān) 20<br>
1.8.4 隧道 21<br>
1.8.5 Agent代理 21<br>
1.9 起始部分的結(jié)束語(yǔ) 22<br>
1.10 更多信息 22<br>
1.10.1 HTTP協(xié)議信息 22<br>
1.10.2 歷史透視 23<br>
1.10.3 其他萬(wàn)維網(wǎng)信息 23<br>
<br>
第2章 URL與資源 25<br>
2.1 瀏覽因特網(wǎng)資源 26<br>
2.2 URL的語(yǔ)法 28<br>
2.2.1 方案——使用什么協(xié)議 29<br>
2.2.2 主機(jī)與端口 30<br>
2.2.3 用戶(hù)名和密碼 30<br>
2.2.4 路徑 31<br>
2.2.5 參數(shù) 31<br>
2.2.6 查詢(xún)字符串 32<br>
2.2.7 片段 33<br>
2.3 URL快捷方式 34<br>
2.3.1 相對(duì)URL 34<br>
2.3.2 自動(dòng)擴(kuò)展URL 37<br>
2.4 各種令人頭疼的字符 38<br>
2.4.1 URL字符集 38<br>
2.4.2 編碼機(jī)制 38<br>
2.4.3 字符限制 39<br>
2.4.4 另外一點(diǎn)說(shuō)明 40<br>
2.5 方案的世界 40<br>
2.6 未來(lái)展望 42<br>
2.7 更多信息 44<br>
<br>
第3章 HTTP報(bào)文 45<br>
3.1 報(bào)文流 46<br>
3.1.1 報(bào)文流入源端服務(wù)器 46<br>
3.1.2 報(bào)文向下游流動(dòng) 47<br>
3.2 報(bào)文的組成部分 47<br>
3.2.1 報(bào)文的語(yǔ)法 48<br>
3.2.2 起始行 50<br>
3.2.3 首部 53<br>
3.2.4 實(shí)體的主體部分 55<br>
3.2.5 版本0.9的報(bào)文 55<br>
3.3 方法 56<br>
3.3.1 安全方法 56<br>
3.3.2 GET 56<br>
3.3.3 HEAD 57<br>
3.3.4 PUT 57<br>
3.3.5 POST 58<br>
3.3.6 TRACE 58<br>
3.3.7 OPTIONS 60<br>
3.3.8 DELETE 60<br>
3.3.9 擴(kuò)展方法 61<br>
3.4 狀態(tài)碼 62<br>
3.4.1 100~199——信息性狀態(tài)碼 62<br>
3.4.2 200~299——成功狀態(tài)碼 63<br>
3.4.3 300~399——重定向狀態(tài)碼 64<br>
3.4.4 400~499——客戶(hù)端錯(cuò)誤狀態(tài)碼 68<br>
3.4.5 500~599——服務(wù)器錯(cuò)誤狀態(tài)碼 69<br>
3.5 首部 70<br>
3.5.1 通用首部 71<br>
3.5.2 請(qǐng)求首部 72<br>
3.5.3 響應(yīng)首部 74<br>
3.5.4 實(shí)體首部 75<br>
3.6 更多信息 77<br>
<br>
第4章 連接管理 79<br>
4.1 TCP連接 80<br>
4.1.1 TCP的可靠數(shù)據(jù)管道 80<br>
4.1.2 TCP流是分段的、由IP分組傳送 81<br>
4.1.3 保持TCP連接的正確運(yùn)行 82<br>
4.1.4 用TCP套接字編程 84<br>
4.2 對(duì)TCP性能的考慮 85<br>
4.2.1 HTTP事務(wù)的時(shí)延 86<br>
4.2.2 性能聚焦區(qū)域 87<br>
4.2.3 TCP連接的握手時(shí)延 87<br>
4.2.4 延遲確認(rèn) 88<br>
4.2.5 TCP慢啟動(dòng) 89<br>
4.2.6 Nagle算法與TCP_NODELAY 89<br>
4.2.7 TIME_WAIT累積與端口耗盡 90<br>
4.3 HTTP連接的處理 91<br>
4.3.1 常被誤解的Connection首部 91<br>
4.3.2 串行事務(wù)處理時(shí)延 92<br>
4.4 并行連接 94<br>
4.4.1 并行連接可能會(huì)提高頁(yè)面的加載速度 94<br>
4.4.2 并行連接不一定更快 95<br>
4.4.3 并行連接可能讓人“感覺(jué)”更快一些 95<br>
4.5 持久連接 96<br>
4.5.1 持久以及并行連接 96<br>
4.5.2 HTTP/1.0+ keep-alive連接 97<br>
4.5.3 Keep-Alive操作 98<br>
4.5.4 Keep-Alive選項(xiàng) 98<br>
4.5.5 Keep-Alive連接的限制和規(guī)則 99<br>
4.5.6 Keep-Alive和啞代理 100<br>
4.5.7 插入Proxy-Connection 102<br>
4.5.8 HTTP/1.1持久連接 104<br>
4.5.9 持久連接的限制和規(guī)則 104<br>
4.6 管道化連接 105<br>
4.7 關(guān)閉連接的奧秘 106<br>
4.7.1 “任意”解除連接 106<br>
4.7.2 Content-Length及截尾操作 107<br>
4.7.3 連接關(guān)閉容限、重試以及冪等性 107<br>
4.7.4 正常關(guān)閉連接 108<br>
4.8 更多信息 110<br>
4.8.1 HTTP連接 110<br>
4.8.2 HTTP性能問(wèn)題 110<br>
4.8.3 TCP/IP 111<br>
<br>
第二部分 HTTP結(jié)構(gòu)<br>
<br>
第5章 Web服務(wù)器 115<br>
5.1 各種形狀和尺寸的Web服務(wù)器 116<br>
5.1.1 Web服務(wù)器的實(shí)現(xiàn) 116<br>
5.1.2 通用軟件Web服務(wù)器 117<br>
5.1.3 Web服務(wù)器設(shè)備 117<br>
5.1.4 嵌入式Web服務(wù)器 118<br>
5.2 最小的Perl Web服務(wù)器 118<br>
5.3 實(shí)際的Web服務(wù)器會(huì)做些什么 120<br>
5.4 第一步——接受客戶(hù)端連接 121<br>
5.4.1 處理新連接 121<br>
5.4.2 客戶(hù)端主機(jī)名識(shí)別 122<br>
5.4.3 通過(guò)ident確定客戶(hù)端用戶(hù) 122<br>
5.5 第二步——接收請(qǐng)求報(bào)文 123<br>
5.5.1 報(bào)文的內(nèi)部表示法 124<br>
5.5.2 連接的輸入/輸出處理結(jié)構(gòu) 125<br>
5.6 第三步——處理請(qǐng)求 126<br>
5.7 第四步——對(duì)資源的映射及訪(fǎng)問(wèn) 126<br>
5.7.1 docroot 127<br>
5.7.2 目錄列表 129<br>
5.7.3 動(dòng)態(tài)內(nèi)容資源的映射 130<br>
5.7.4 服務(wù)器端包含項(xiàng) 131<br>
5.7.5 訪(fǎng)問(wèn)控制 131<br>
5.8 第五步——構(gòu)建響應(yīng) 131<br>
5.8.1 響應(yīng)實(shí)體 131<br>
5.8.2 MIME類(lèi)型 132<br>
5.8.3 重定向 133<br>
5.9 第六步——發(fā)送響應(yīng) 134<br>
5.10 第七步——記錄日志 134<br>
5.11 更多信息 134<br>
<br>
第6章 代理 135<br>
6.1 Web的中間實(shí)體 136<br>
6.1.1 私有和共享代理 136<br>
6.1.2 代理與網(wǎng)關(guān)的對(duì)比 137<br>
6.2 為什么使用代理 138<br>
6.3 代理會(huì)去往何處 143<br>
6.3.1 代理服務(wù)器的部署 144<br>
6.3.2 代理的層次結(jié)構(gòu) 144<br>
6.3.3 代理是如何獲取流量的 147<br>
6.4 客戶(hù)端的代理設(shè)置 148<br>
6.4.1 客戶(hù)端的代理配置:手工配置 149<br>
6.4.2 客戶(hù)端代理配置:PAC文件 149<br>
6.4.3 客戶(hù)端代理配置:WPAD 150<br>
6.5 與代理請(qǐng)求有關(guān)的一些棘手問(wèn)題 151<br>
6.5.1 代理URI與服務(wù)器URI的不同 151<br>
6.5.2 與虛擬主機(jī)一樣的問(wèn)題 152<br>
6.5.3 攔截代理會(huì)收到部分URI 153<br>
6.5.4 代理既可以處理代理請(qǐng)求,也可以處理服務(wù)器請(qǐng)求 154<br>
6.5.5 轉(zhuǎn)發(fā)過(guò)程中對(duì)URI的修改 154<br>
6.5.6 URI的客戶(hù)端自動(dòng)擴(kuò)展和主機(jī)名解析 155<br>
6.5.7 沒(méi)有代理時(shí)URI的解析 155<br>
6.5.8 有顯式代理時(shí)URI的解析 156<br>
6.5.9 有攔截代理時(shí)URI的解析 157<br>
6.6 追蹤報(bào)文 158<br>
6.6.1 Via首部 158<br>
6.6.2 TRACE方法 162<br>
6.7 代理認(rèn)證 164<br>
6.8 代理的互操作性 165<br>
6.8.1 處理代理不支持的首部和方法 166<br>
6.8.2 OPTIONS:發(fā)現(xiàn)對(duì)可選特性的支持 166<br>
6.8.3 Allow首部 167<br>
6.9 更多信息 167<br>
<br>
第7章 緩存 169<br>
7.1 冗余的數(shù)據(jù)傳輸 170<br>
7.2 帶寬瓶頸 170<br>
7.3 瞬間擁塞 171<br>
7.4 距離時(shí)延 172<br>
7.5 命中和未命中的 173<br>
7.5.1 再驗(yàn)證 173<br>
7.5.2 命中率 175<br>
7.5.3 字節(jié)命中率 176<br>
7.5.4 區(qū)分命中和未命中的情況 176<br>
7.6 緩存的拓?fù)浣Y(jié)構(gòu) 177<br>
7.6.1 私有緩存 177<br>
7.6.2 公有代理緩存 177<br>
7.6.3 代理緩存的層次結(jié)構(gòu) 179<br>
7.6.4 網(wǎng)狀緩存、內(nèi)容路由以及對(duì)等緩存 180<br>
7.7 緩存的處理步驟 181<br>
7.7.1 第一步——接收 181<br>
7.7.2 第二步——解析 182<br>
7.7.3 第三步——查找 182<br>
7.7.4 第四步——新鮮度檢測(cè) 182<br>
7.7.5 第五步——?jiǎng)?chuàng)建響應(yīng) 182<br>
7.7.6 第六步——發(fā)送 183<br>
7.7.7 第七步——日志 183<br>
7.7.8 緩存處理流程圖 183<br>
7.8 保持副本的新鮮 183<br>
7.8.1 文檔過(guò)期 184<br>
7.8.2 過(guò)期日期和使用期 185<br>
7.8.3 服務(wù)器再驗(yàn)證 185<br>
7.8.4 用條件方法進(jìn)行再驗(yàn)證 186<br>
7.8.5 If-Modified-Since:Date再驗(yàn)證 187<br>
7.8.6 If-None-Match:實(shí)體標(biāo)簽再驗(yàn)證 189<br>
7.8.7 強(qiáng)弱驗(yàn)證器 190<br>
7.8.8 什么時(shí)候應(yīng)該使用實(shí)體標(biāo)簽和最近修改日期 190<br>
7.9 控制緩存的能力 191<br>
7.9.1 no-Store與no-Cache響應(yīng)首部 191<br>
7.9.2 max-age響應(yīng)首部 192<br>
7.9.3 Expires響應(yīng)首部 192<br>
7.9.4 must-revalidate響應(yīng)首部 192<br>
7.9.5 試探性過(guò)期 193<br>
7.9.6 客戶(hù)端的新鮮度限制 194<br>
7.9.7 注意事項(xiàng) 194<br>
7.10 設(shè)置緩存控制 195<br>
7.10.1 控制Apache的HTTP首部 195<br>
7.10.2 通過(guò)HTTP-EQUIV控制HTML緩存 196<br>
7.11 詳細(xì)算法 197<br>
7.11.1 使用期和新鮮生存期 198<br>
7.11.2 使用期的計(jì)算 198<br>
7.11.3 完整的使用期計(jì)算算法 201<br>
7.11.4 新鮮生存期計(jì)算 202<br>
7.11.5 完整的服務(wù)器——新鮮度算法 202<br>
7.12 緩存和廣告 204<br>
7.12.1 發(fā)布廣告者的兩難處境 204<br>
7.12.2 發(fā)布者的響應(yīng) 204<br>
7.12.3 日志遷移 205<br>
7.12.4 命中計(jì)數(shù)和使用限制 205<br>
7.13 更多信息 205<br>
<br>
第8章 集成點(diǎn):網(wǎng)關(guān)、隧道及中繼 207<br>
8.1 網(wǎng)關(guān) 208<br>
8.2 協(xié)議網(wǎng)關(guān) 210<br>
8.2.1 HTTP/*:服務(wù)器端Web網(wǎng)關(guān) 211<br>
8.2.2 HTTP/HTTPS:服務(wù)器端安全網(wǎng)關(guān) 212<br>
8.2.3 HTTPS/HTTP客戶(hù)端安全加速器網(wǎng)關(guān) 212<br>
8.3 資源網(wǎng)關(guān) 213<br>
8.3.1 CGI 215<br>
8.3.2 服務(wù)器擴(kuò)展API 215<br>
8.4 應(yīng)用程序接口和Web服務(wù) 216<br>
8.5 隧道 217<br>
8.5.1 用CONNECT建立HTTP隧道 217<br>
8.5.2 數(shù)據(jù)隧道、定時(shí)及連接管理 219<br>
8.5.3 SSL隧道 219<br>
8.5.4 SSL隧道與HTTP/HTTPS網(wǎng)關(guān)的對(duì)比 220<br>
8.5.5 隧道認(rèn)證 221<br>
8.5.6 隧道的安全性考慮 221<br>
8.6 中繼 222<br>
8.7 更多信息 224<br>
<br>
第9章 Web機(jī)器人 225<br>
9.1 爬蟲(chóng)及爬行方式 226<br>
9.1.1 從哪兒開(kāi)始:根集 226<br>
9.1.2 鏈接的提取以及相對(duì)鏈接的標(biāo)準(zhǔn)化 227<br>
9.1.3 避免環(huán)路的出現(xiàn) 228<br>
9.1.4 循環(huán)與復(fù)制 228<br>
9.1.5 面包屑留下的痕跡 229<br>
9.1.6 別名與機(jī)器人環(huán)路 230<br>
9.1.7 規(guī)范化URL 230<br>
9.1.8 文件系統(tǒng)連接環(huán)路 231<br>
9.1.9 動(dòng)態(tài)虛擬Web空間 232<br>
9.1.10 避免循環(huán)和重復(fù) 233<br>
9.2 機(jī)器人的HTTP 236<br>
9.2.1 識(shí)別請(qǐng)求首部 236<br>
9.2.2 虛擬主機(jī) 236<br>
9.2.3 條件請(qǐng)求 237<br>
9.2.4 對(duì)響應(yīng)的處理 238<br>
9.2.5 User-Agent導(dǎo)向 239<br>
9.3 行為不當(dāng)?shù)臋C(jī)器人 239<br>
9.4 拒絕機(jī)器人訪(fǎng)問(wèn) 240<br>
9.4.1 拒絕機(jī)器人訪(fǎng)問(wèn)標(biāo)準(zhǔn) 241<br>
9.4.2 Web站點(diǎn)和robots.txt文件 242<br>
9.4.3 robots.txt文件的格式 243<br>
9.4.4 其他有關(guān)robots.txt的知識(shí) 246<br>
9.4.5 緩存和robots.txt的過(guò)期 246<br>
9.4.6 拒絕機(jī)器人訪(fǎng)問(wèn)的Perl代碼 246<br>
9.4.7 HTML的robot-control元標(biāo)簽 249<br>
9.5 機(jī)器人的規(guī)范 251<br>
9.6 搜索引擎 254<br>
9.6.1 大格局 255<br>
9.6.2 現(xiàn)代搜索引擎結(jié)構(gòu) 255<br>
9.6.3 全文索引 255<br>
9.6.4 發(fā)布查詢(xún)請(qǐng)求 257<br>
9.6.5 對(duì)結(jié)果進(jìn)行排序,并提供查詢(xún)結(jié)果 258<br>
9.6.6 欺詐 258<br>
9.7 更多信息 258<br>
<br>
第10章 HTTP-NG 261<br>
10.1 HTTP發(fā)展中存在的問(wèn)題 262<br>
10.2 HTTP-NG的活動(dòng) 263<br>
10.3 模塊化及功能增強(qiáng) 263<br>
10.4 分布式對(duì)象 264<br>
10.5 第一層——報(bào)文傳輸 264<br>
10.6 第二層——遠(yuǎn)程調(diào)用 265<br>
10.7 第三層——Web應(yīng)用 265<br>
10.8 WebMUX 265<br>
10.9 二進(jìn)制連接協(xié)議 266<br>
10.10 當(dāng)前的狀態(tài) 267<br>
10.11 更多信息 267<br>
<br>
第三部分 識(shí)別、認(rèn)證與安全<br>
<br>
第11章 客戶(hù)端識(shí)別與cookie機(jī)制 271<br>
11.1 個(gè)性化接觸 272<br>
11.2 HTTP首部 273<br>
11.3 客戶(hù)端IP地址 274<br>
11.4 用戶(hù)登錄 275<br>
11.5 胖URL 277<br>
11.6 cookie 278<br>
11.6.1 cookie的類(lèi)型 278<br>
11.6.2 cookie是如何工作的 279<br>
11.6.3 cookie罐:客戶(hù)端的狀態(tài) 280<br>
11.6.4 不同站點(diǎn)使用不同的cookie 282<br>
11.6.5 cookie成分 283<br>
11.6.6 cookies版本0(Netscape) 284<br>
11.6.7 cookies版本1(RFC 2965) 285<br>
11.6.8 cookie與會(huì)話(huà)跟蹤 288<br>
11.6.9 cookie與緩存 290<br>
11.6.10 cookie、安全性和隱私 291<br>
11.7 更多信息 292<br>
<br>
第12章 基本認(rèn)證機(jī)制 293<br>
12.1 認(rèn)證 294<br>
12.1.1 HTTP的質(zhì)詢(xún)/響應(yīng)認(rèn)證框架 294<br>
12.1.2 認(rèn)證協(xié)議與首部 295<br>
12.1.3 安全域 296<br>
12.2 基本認(rèn)證 297<br>
12.2.1 基本認(rèn)證實(shí)例 298<br>
12.2.2 Base-64用戶(hù)名/密碼編碼 298<br>
12.2.3 代理認(rèn)證 299<br>
12.3 基本認(rèn)證的安全缺陷 300<br>
12.4 更多信息 301<br>
<br>
第13章 摘要認(rèn)證 303<br>
13.1 摘要認(rèn)證的改進(jìn) 304<br>
13.1.1 用摘要保護(hù)密碼 304<br>
13.1.2 單向摘要 306<br>
13.1.3 用隨機(jī)數(shù)防止重放攻擊 307<br>
13.1.4 摘要認(rèn)證的握手機(jī)制 307<br>
13.2 摘要的計(jì)算 308<br>
13.2.1 摘要算法的輸入數(shù)據(jù) 308<br>
13.2.2 算法H(d)和KD(s,d) 310<br>
13.2.3 與安全性相關(guān)的數(shù)據(jù)(A1) 310<br>
13.2.4 與報(bào)文有關(guān)的數(shù)據(jù)(A2) 310<br>
13.2.5 摘要算法總述 311<br>
13.2.6 摘要認(rèn)證會(huì)話(huà) 312<br>
13.2.7 預(yù)授權(quán) 312<br>
13.2.8 隨機(jī)數(shù)的選擇 315<br>
13.2.9 對(duì)稱(chēng)認(rèn)證 315<br>
13.3 增強(qiáng)保護(hù)質(zhì)量 316<br>
13.3.1 報(bào)文完整性保護(hù) 316<br>
13.3.2 摘要認(rèn)證首部 317<br>
13.4 應(yīng)該考慮的實(shí)際問(wèn)題 317<br>
13.4.1 多重質(zhì)詢(xún) 318<br>
13.4.2 差錯(cuò)處理 318<br>
13.4.3 保護(hù)空間 318<br>
13.4.4 重寫(xiě)URI 319<br>
13.4.5 緩存 319<br>
13.5 安全性考慮 320<br>
13.5.1 首部篡改 320<br>
13.5.2 重放攻擊 320<br>
13.5.3 多重認(rèn)證機(jī)制 320<br>
13.5.4 詞典攻擊 321<br>
13.5.5 惡意代理攻擊和中間人攻擊 321<br>
13.5.6 選擇明文攻擊 321<br>
13.5.7 存儲(chǔ)密碼 322<br>
13.6 更多信息 322<br>
<br>
第14章 安全HTTP 323<br>
14.1 保護(hù)HTTP 的安全 324<br>
14.2 數(shù)字加密 326<br>
14.2.1 密碼編制的機(jī)制與技巧 326<br>
14.2.2 密碼 327<br>
14.2.3 密碼機(jī) 328<br>
14.2.4 使用了密鑰的密碼 328<br>
14.2.5 數(shù)字密碼 328<br>
14.3 對(duì)稱(chēng)密鑰加密技術(shù) 330<br>
14.3.1 密鑰長(zhǎng)度與枚舉攻擊 330<br>
14.3.2 建立共享密鑰 332<br>
14.4 公開(kāi)密鑰加密技術(shù) 332<br>
14.4.1 RSA 333<br>
14.4.2 混合加密系統(tǒng)和會(huì)話(huà)密鑰 334<br>
14.5 數(shù)字簽名 334<br>
14.6 數(shù)字證書(shū) 336<br>
14.6.1 證書(shū)的主要內(nèi)容 336<br>
14.6.2 X.509 v3證書(shū) 337<br>
14.6.3 用證書(shū)對(duì)服務(wù)器進(jìn)行認(rèn)證 338<br>
14.7 HTTPS——細(xì)節(jié)介紹 339<br>
14.7.1 HTTPS概述 339<br>
14.7.2 HTTPS方案 340<br>
14.7.3 建立安全傳輸 341<br>
14.7.4 SSL握手 341<br>
14.7.5 服務(wù)器證書(shū) 343<br>
14.7.6 站點(diǎn)證書(shū)的有效性 344<br>
14.7.7 虛擬主機(jī)與證書(shū) 345<br>
14.8 HTTPS客戶(hù)端實(shí)例 345<br>
14.8.1 OpenSSL 346<br>
14.8.2 簡(jiǎn)單的HTTPS客戶(hù)端 347<br>
14.8.3 執(zhí)行OpenSSL客戶(hù)端 350<br>
14.9 通過(guò)代理以隧道形式傳輸安全流量 351<br>
14.10 更多信息 353<br>
14.10.1 HTTP安全性 353<br>
14.10.2 SSL與TLS 353<br>
14.10.3 公開(kāi)密鑰基礎(chǔ)設(shè)施 354<br>
14.10.4 數(shù)字密碼 354<br>
<br>
第四部分 實(shí)體、編碼和國(guó)際化<br>
<br>
第15章 實(shí)體和編碼 357<br>
15.1 報(bào)文是箱子,實(shí)體是貨物 359<br>
15.2 Content-Length: 實(shí)體的大小 361<br>
15.2.1 檢測(cè)截尾 361<br>
15.2.2 錯(cuò)誤的Content-Length 362<br>
15.2.3 Content-Length與持久連接 362<br>
15.2.4 內(nèi)容編碼 362<br>
15.2.5 確定實(shí)體主體長(zhǎng)度的規(guī)則 362<br>
15.3 實(shí)體摘要 364<br>
15.4 媒體類(lèi)型和字符集 364<br>
15.4.1 文本的字符編碼 365<br>
15.4.2 多部分媒體類(lèi)型 365<br>
15.4.3 多部分表格提交 366<br>
15.4.4 多部分范圍響應(yīng) 367<br>
15.5 內(nèi)容編碼 368<br>
15.5.1 內(nèi)容編碼過(guò)程 368<br>
15.5.2 內(nèi)容編碼類(lèi)型 369<br>
15.5.3 Accept-Encoding首部 369<br>
15.6 傳輸編碼和分塊編碼 371<br>
15.6.1 可靠傳輸 371<br>
15.6.2 Transfer-Encoding首部 372<br>
15.6.3 分塊編碼 373<br>
15.6.4 內(nèi)容編碼與傳輸編碼的結(jié)合 375<br>
15.6.5 傳輸編碼的規(guī)則 375<br>
15.7 隨時(shí)間變化的實(shí)例 375<br>
15.8 驗(yàn)證碼和新鮮度 376<br>
15.8.1 新鮮度 377<br>
15.8.2 有條件的請(qǐng)求與驗(yàn)證碼 378<br>
15.9 范圍請(qǐng)求 380<br>
15.10 差異編碼 382<br>
15.11 更多信息 385<br>
<br>
第16章 國(guó)際化 387<br>
16.1 HTTP對(duì)國(guó)際性?xún)?nèi)容的支持 388<br>
16.2 字符集與HTTP 389<br>
16.2.1 字符集是把字符轉(zhuǎn)換為二進(jìn)制碼的編碼 389<br>
16.2.2 字符集和編碼如何工作 390<br>
16.2.3 字符集不對(duì),字符就不對(duì) 391<br>
16.2.4 標(biāo)準(zhǔn)化的MIME charset值 391<br>
16.2.5 Content-Type首部和Charset首部以及META標(biāo)志 393<br>
16.2.6 Accept-Charset首部 393<br>
16.3 多語(yǔ)言字符編碼入門(mén) 394<br>
16.3.1 字符集術(shù)語(yǔ) 394<br>
16.3.2 字符集的命名很糟糕 395<br>
16.3.3 字符 396<br>
16.3.4 字形、連筆以及表示形式 396<br>
16.3.5 編碼后的字符集 397<br>
16.3.6 字符編碼方案 399<br>
16.4 語(yǔ)言標(biāo)記與HTTP 402<br>
16.4.1 Content-Language首部 402<br>
16.4.2 Accept-Language首部 403<br>
16.4.3 語(yǔ)言標(biāo)記的類(lèi)型 404<br>
16.4.4 子標(biāo)記 404<br>
16.4.5 大小寫(xiě) 405<br>
16.4.6 IANA語(yǔ)言標(biāo)記注冊(cè) 405<br>
16.4.7 第一個(gè)子標(biāo)記——名字空間 405<br>
16.4.8 第二個(gè)子標(biāo)記——名字空間 406<br>
16.4.9 其余子標(biāo)記——名字空間 407<br>
16.4.10 配置和語(yǔ)言有關(guān)的首選項(xiàng) 407<br>
16.4.11 語(yǔ)言標(biāo)記參考表 407<br>
16.5 國(guó)際化的URI 408<br>
16.5.1 全球性的可轉(zhuǎn)抄能力與有意義的字符的較量 408<br>
16.5.2 URI字符集合 408<br>
16.5.3 轉(zhuǎn)義和反轉(zhuǎn)義 409<br>
16.5.4 轉(zhuǎn)義國(guó)際化字符 409<br>
16.5.5 URI中的模態(tài)切換 410<br>
16.6 其他需要考慮的地方 410<br>
16.6.1 首部和不合規(guī)范的數(shù)據(jù) 410<br>
16.6.2 日期 411<br>
16.6.3 域名 411<br>
16.7 更多信息 411<br>
16.7.1 附錄 411<br>
16.7.2 互聯(lián)網(wǎng)的國(guó)際化 411<br>
16.7.3 國(guó)際標(biāo)準(zhǔn) 412<br>
<br>
第17章 內(nèi)容協(xié)商與轉(zhuǎn)碼 413<br>
17.1 內(nèi)容協(xié)商技術(shù) 414<br>
17.2 客戶(hù)端驅(qū)動(dòng)的協(xié)商 415<br>
17.3 服務(wù)器驅(qū)動(dòng)的協(xié)商 415<br>
17.3.1 內(nèi)容協(xié)商首部集 416<br>
17.3.2 內(nèi)容協(xié)商首部中的質(zhì)量值 417<br>
17.3.3 隨其他首部集而變化 417<br>
17.3.4 Apache中的內(nèi)容協(xié)商 417<br>
17.3.5 服務(wù)器端擴(kuò)展 418<br>
17.4 透明協(xié)商 419<br>
17.4.1 進(jìn)行緩存與備用候選 419<br>
17.4.2 Vary首部 420<br>
17.5 轉(zhuǎn)碼 422<br>
17.5.1 格式轉(zhuǎn)換 422<br>
17.5.2 信息綜合 423<br>
17.5.3 內(nèi)容注入 423<br>
17.5.4 轉(zhuǎn)碼與靜態(tài)預(yù)生成的對(duì)比 423<br>
17.6 下一步計(jì)劃 424<br>
17.7 更多信息 424<br>
<br>
第五部分 內(nèi)容發(fā)布與分發(fā)<br>
<br>
第18章 Web主機(jī)托管 429<br>
18.1 主機(jī)托管服務(wù) 430<br>
18.2 虛擬主機(jī)托管 431<br>
18.2.1 虛擬服務(wù)器請(qǐng)求缺乏主機(jī)信息 432<br>
18.2.2 設(shè)法讓虛擬主機(jī)托管正常工作 433<br>
18.2.3 HTTP/1.1的Host首部 437<br>
18.3 使網(wǎng)站更可靠 438<br>
18.3.1 鏡像的服務(wù)器集群 438<br>
18.3.2 內(nèi)容分發(fā)網(wǎng)絡(luò) 440<br>
18.3.3 CDN中的反向代理緩存 440<br>
18.3.4 CDN中的代理緩存 440<br>
18.4 讓網(wǎng)站更快 441<br>
18.5 更多信息 441<br>
<br>
第19章 發(fā)布系統(tǒng) 443<br>
19.1 FrontPage為支持發(fā)布而做的服務(wù)器擴(kuò)展 444<br>
19.1.1 FrontPage服務(wù)器擴(kuò)展 444<br>
19.1.2 FrontPage術(shù)語(yǔ)表 445<br>
19.1.3 FrontPage的RPC協(xié)議 445<br>
19.1.4 FrontPage的安全模型 448<br>
19.2 WebDAV與協(xié)作寫(xiě)作 449<br>
19.2.1 WebDAV的方法 449<br>
19.2.2 WebDAV與XML 450<br>
19.2.3 WebDAV首部集 451<br>
19.2.4 WebDAV的鎖定與防止覆寫(xiě) 452<br>
19.2.5 LOCK方法 453<br>
19.2.6 UNLOCK方法 456<br>
19.2.7 屬性和元數(shù)據(jù) 456<br>
19.2.8 PROPFIND方法 457<br>
19.2.9 PROPPATCH方法 459<br>
19.2.10 集合與名字空間管理 460<br>
19.2.11 MKCOL方法 460<br>
19.2.12 DELETE方法 461<br>
19.2.13 COPY與MOVE方法 462<br>
19.2.14 增強(qiáng)的HTTP/1.1方法 465<br>
19.2.15 WebDAV中的版本管理 466<br>
19.2.16 WebDAV的未來(lái)發(fā)展 466<br>
19.3 更多信息 467<br>
<br>
第20章 重定向與負(fù)載均衡 469<br>
20.1 為什么要重定向 470<br>
20.2 重定向到何地 471<br>
20.3 重定向協(xié)議概覽 471<br>
20.4 通用的重定向方法 474<br>
20.4.1 HTTP重定向 474<br>
20.4.2 DNS重定向 475<br>
20.4.3 任播尋址 480<br>
20.4.4 IP MAC轉(zhuǎn)發(fā) 481<br>
20.4.5 IP地址轉(zhuǎn)發(fā) 482<br>
20.4.6 網(wǎng)元控制協(xié)議 484<br>
20.5 代理的重定向方法 485<br>
20.5.1 顯式瀏覽器配置 485<br>
20.5.2 代理自動(dòng)配置 485<br>
20.5.3 Web代理自動(dòng)發(fā)現(xiàn)協(xié)議 487<br>
20.6 緩存重定向方法 492<br>
20.7 因特網(wǎng)緩存協(xié)議 496<br>
20.8 緩存陣列路由協(xié)議 497<br>
20.9 超文本緩存協(xié)議 500<br>
20.9.1 HTCP認(rèn)證 502<br>
20.9.2 設(shè)置緩存策略 503<br>
20.10 更多信息 504<br>
<br>
第21章 日志記錄與使用情況跟蹤 505<br>
21.1 記錄內(nèi)容 506<br>
21.2 日志格式 507<br>
21.2.1 常見(jiàn)日志格式 507<br>
21.2.2 組合日志格式 508<br>
21.2.3 網(wǎng)景擴(kuò)展日志格式 509<br>
21.2.4 網(wǎng)景擴(kuò)展2日志格式 510<br>
21.2.5 Squid代理日志格式 512<br>
21.3 命中率測(cè)量 515<br>
21.3.1 概述 515<br>
21.3.2 Meter首部 516<br>
21.4 關(guān)于隱私的考慮 517<br>
21.5 更多信息 518<br>
<br>
第六部分 附錄<br>
附錄A URI方案 521<br>
附錄B HTTP狀態(tài)碼 529<br>
附錄C HTTP首部參考 533<br>
附錄D MIME類(lèi)型 557<br>
附錄E Base-64編碼 603<br>
附錄F 摘要認(rèn)證 607<br>
附錄G 語(yǔ)言標(biāo)記 615<br>
附錄H MIME字符集注冊(cè)表 641<br>
<br>
索引 661
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 7.6.4 網(wǎng)狀緩存、內(nèi)容路由以及對(duì)等緩存 有些網(wǎng)絡(luò)結(jié)構(gòu)會(huì)構(gòu)建復(fù)雜的網(wǎng)狀緩存(cache mesh),而不是簡(jiǎn)單的緩存層次結(jié)構(gòu)。網(wǎng)狀緩存中的代理緩存之間會(huì)以更加復(fù)雜的方式進(jìn)行對(duì)話(huà),做出動(dòng)態(tài)的緩存通信決策,決定與哪個(gè)父緩存進(jìn)行對(duì)話(huà),或者決定徹底繞開(kāi)緩存,直接連接原始服務(wù)器。這種代理緩存會(huì)決定選擇何種路由對(duì)內(nèi)容進(jìn)行訪(fǎng)問(wèn)、管理和傳送,因此可將其稱(chēng)為內(nèi)容路由器(content router)。 網(wǎng)狀緩存中為內(nèi)容路由設(shè)計(jì)的緩存(除了其他任務(wù)之外)要完成下列所有功能。 根據(jù)URL在父緩存或原始服務(wù)器之間進(jìn)行動(dòng)態(tài)選擇。 根據(jù)URL動(dòng)態(tài)地選擇一個(gè)特定的父緩存。 前往父緩存之前,在本地緩存中搜索已緩存的副本。 允許其他緩存對(duì)其緩存的部分內(nèi)容進(jìn)行訪(fǎng)問(wèn),但不允許因特網(wǎng)流量通過(guò)它們的緩存。 緩存之間這些更為復(fù)雜的關(guān)系允許不同的組織互為對(duì)等(peer)實(shí)體,將它們的緩存連接起來(lái)以實(shí)現(xiàn)共贏。提供可選的對(duì)等支持的緩存被稱(chēng)為兄弟緩存(siblingcache)(參見(jiàn)圖7—10)。HTTP并不支持兄弟緩存,所以人們通過(guò)一些協(xié)議對(duì)HTTP進(jìn)行了擴(kuò)展,比如因特網(wǎng)緩存協(xié)議(Internet Cache Protocol,ICP)和超文本緩存協(xié)議(HyperText Caching Protocol,HTCP)。我們將在第20章討論這些協(xié)議。 7.7緩存的處理步驟 現(xiàn)代的商業(yè)化代理緩存相當(dāng)?shù)貜?fù)雜。這些緩存構(gòu)建得非常高效,可以支持HTTP和其他一些技術(shù)的各種高級(jí)特性。但除了一些微妙的細(xì)節(jié)之外,Web緩存的基本工作原理大多很簡(jiǎn)單。對(duì)一條HTTP GET報(bào)文的基本緩存處理過(guò)程包括7個(gè)步驟(參見(jiàn)圖7—11)。 (1)接收——緩存從網(wǎng)絡(luò)中讀取抵達(dá)的請(qǐng)求報(bào)文。 (2)解析——緩存對(duì)報(bào)文進(jìn)行解析,提取出URL和各種首部。 (3)查詢(xún)——緩存查看是否有本地副本可用,如果沒(méi)有,就獲取一份副本(并將其保存在本地)。 (4)新鮮度檢測(cè)——緩存查看已緩存副本是否足夠新鮮,如果不是,就詢(xún)問(wèn)服務(wù)器是否有任何更新。 (5)創(chuàng)建響應(yīng)——緩存會(huì)用新的首部和已緩存的主體來(lái)構(gòu)建一條響應(yīng)報(bào)文。 (6)發(fā)送——緩存通過(guò)網(wǎng)絡(luò)將響應(yīng)發(fā)回給客戶(hù)端。 (7)日志——緩存可選地創(chuàng)建一個(gè)日志文件條目來(lái)描述這個(gè)事務(wù)。
編輯推薦
《HTTP權(quán)威指南》由古爾利所著,本書(shū)詳細(xì)解釋了HTTP協(xié)議,包括它是如何工作的,如何用它來(lái)開(kāi)發(fā)基于Web的應(yīng)用程序,同時(shí)還探討了HTTP有效工作所依賴(lài)的所有其他核心因特網(wǎng)技術(shù)。盡管HTTP是本書(shū)的中心內(nèi)容,但本書(shū)的本質(zhì)是理解Web的工作原理,以及如何將這些知識(shí)應(yīng)用到Web編程和管理之中,主要涵蓋HTTP的技術(shù)運(yùn)作方式、產(chǎn)生動(dòng)機(jī)、性能和目標(biāo)以及一些相關(guān)技術(shù)問(wèn)題。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版