HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)是Web客戶端與服務(wù)器交互文檔和信息時(shí)所使用的協(xié)議,是每個(gè)成功Web事務(wù)的幕后推手。眾所周知,我們每天訪問公司內(nèi)部網(wǎng)絡(luò)、搜索絕版書籍、研究統(tǒng)計(jì)信息時(shí)所使用的瀏覽器的核心就是HTTP。但HTTP的應(yīng)用遠(yuǎn)不僅僅是瀏覽Web內(nèi)容。由于HTTP既簡單又普及,很多其他網(wǎng)絡(luò)應(yīng)用程序也選擇了它,尤其是采用SOAP和XML-RPC這樣的Web服務(wù)。
《HTTP權(quán)威指南》詳細(xì)解釋了HTTP協(xié)議,包括它是如何工作的,如何用它來開發(fā)基于Web的應(yīng)用程序。但本書并不只介紹了HTTP,還探討了HTTP有效工作所依賴的所有其他核心因特網(wǎng)技術(shù)。盡管HTTP是本書的中心內(nèi)容,但本書的本質(zhì)是理解Web的工作原理,以及如何將這些知識(shí)應(yīng)用到Web編程和管理之中去,主要涵蓋HTTP的技術(shù)運(yùn)作方式、產(chǎn)生動(dòng)機(jī)、性能和目標(biāo),以及一些相關(guān)技術(shù)問題。
《HTTP權(quán)威指南》是HTTP協(xié)議及相關(guān)Web技術(shù)方面的權(quán)威著作,主要內(nèi)容包括:
HTTP方法、首部以及狀態(tài)碼
優(yōu)化代理和緩存的方法
設(shè)計(jì)Web機(jī)器人和爬蟲的策略
Cookies、認(rèn)證以及安全HTTP
國際化及內(nèi)容協(xié)商
重定向及負(fù)載平衡策略
本書由具有多年實(shí)踐經(jīng)驗(yàn)的專家編寫,通過簡潔、精確的語言和大量翔實(shí)的細(xì)節(jié)圖解幫助讀者形象地理解Web幕后所發(fā)生的事情,詳細(xì)說明了Web上每條請求的實(shí)際運(yùn)行情況。要想高效地進(jìn)行Web開發(fā),所有Web程序員、管理員和應(yīng)用程序開發(fā)者都應(yīng)該熟悉HTTP。很多書籍只介紹了Web的使用方式,而本書則深入說明了Web的工作原理。
David Gourley,是Endeca的首席技術(shù)官(Chief Technology Officer),負(fù)責(zé)Endeca產(chǎn)品的研究及開發(fā)。Endeca開發(fā)的因特網(wǎng)及內(nèi)部網(wǎng)絡(luò)信息訪問解決方案為企業(yè)級(jí)數(shù)據(jù)的導(dǎo)航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基礎(chǔ)工程組的一員,他在那兒幫助開發(fā)了Inktomi的因特網(wǎng)搜索數(shù)據(jù)庫,是Inktomi的Web緩存產(chǎn)品的主要開發(fā)者。
David在加州大學(xué)伯克利分校獲得了計(jì)算機(jī)科學(xué)的學(xué)士學(xué)位,還擁有Web技術(shù)方面的幾項(xiàng)專利。
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ì)軟件并對其進(jìn)行優(yōu)化。在那之前,他是蘋果計(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)開發(fā)并講授了一些屢獲殊榮的因特網(wǎng)技術(shù)方面的課程。
Marjorie Sayer,在Inktomi公司負(fù)責(zé)編寫Web緩存方面的軟件。在加州大學(xué)伯克利分校獲得了數(shù)學(xué)碩士和博士學(xué)位之后,一直致力于數(shù)學(xué)課程的改革。從1990年開始致力于能量資源管理、并行系統(tǒng)軟件、電話和網(wǎng)絡(luò)方面的寫作。
Sailu Reddy,目前在Inktomi公司負(fù)責(zé)嵌入式的性能增強(qiáng)型HTTP 代理的開發(fā)。Sailu從事復(fù)雜軟件系統(tǒng)的開發(fā)已經(jīng)有12年了,從1995年開始深入Web架構(gòu)的研發(fā)工作。他是Netscape第一臺(tái)Web服務(wù)器、Web 代理產(chǎn)品,以及后面幾代產(chǎn)品的核心工程師。他具備HTTP應(yīng)用程序、數(shù)據(jù)壓縮技術(shù)、數(shù)據(jù)庫引擎以及合作管理等方面的技術(shù)經(jīng)驗(yàn)。Sailu在亞里桑那大學(xué)獲得了信息系統(tǒng)的碩士學(xué)位并握有Web技術(shù)方面的多項(xiàng)專利。
Anshu Aggarwal,是Inktomi公司的工程總監(jiān)。他領(lǐng)導(dǎo)著Inktomi公司W(wǎng)eb緩存產(chǎn)品的協(xié)議處理工程組,從1997年就開始參與Inktomi的Web技術(shù)設(shè)計(jì)工作。Anshu在科羅拉多大學(xué)Boulder分校獲得了計(jì)算機(jī)科學(xué)的碩士和博士學(xué)位,從事分布式多處理器的內(nèi)存一致性技術(shù)研究。他還擁有電子工程的碩士和學(xué)士學(xué)位。Anshu撰寫了多篇技術(shù)論文,還擁有兩項(xiàng)專利。
第一部分 HTTP:Web的基礎(chǔ)
第1章 HTTP概述
1.1 HTTP——因特網(wǎng)的多媒體信使
1.2 Web客戶端和服務(wù)器
1.3 資源
1.3.1 媒體類型
1.3.2 URI
1.3.3 URL
1.3.4 URN
1.4 事務(wù)
1.4.1 方法
1.4.2 狀態(tài)碼
1.4.3 Web頁面中可以包含多個(gè)對象
1.5 報(bào)文
1.6 連接
1.6.1 TCP/IP
1.6.2 連接、IP地址及端口號(hào)
1.6.3 使用Telnet實(shí)例
1.7 協(xié)議版本
1.8 Web的結(jié)構(gòu)組件
1.8.1 代理
1.8.2 緩存
1.8.3 網(wǎng)關(guān)
1.8.4 隧道
1.8.5 Agent代理
1.9 起始部分的結(jié)束語
1.10 更多信息
1.10.1 HTTP協(xié)議信息
1.10.2 歷史透視
1.10.3 其他萬維網(wǎng)信息
第2章 URL與資源
2.1 瀏覽因特網(wǎng)資源
2.2 URL的語法
2.2.1 方案——使用什么協(xié)議
2.2.2 主機(jī)與端口
2.2.3 用戶名和密碼
2.2.4 路徑
2.2.5 參數(shù)
2.2.6 查詢字符串
2.2.7 片段
2.3 URL快捷方式
2.3.1 相對URL
2.3.2 自動(dòng)擴(kuò)展URL
2.4 各種令人頭疼的字符
2.4.1 URL字符集
2.4.2 編碼機(jī)制
2.4.3 字符限制
2.4.4 另外一點(diǎn)說明
2.5 方案的世界
2.6 未來展望
2.7 更多信息
第3章 HTTP報(bào)文
3.1 報(bào)文流
3.1.1 報(bào)文流入源端服務(wù)器
3.1.2 報(bào)文向下游流動(dòng)
3.2 報(bào)文的組成部分
3.2.1 報(bào)文的語法
3.2.2 起始行
3.2.3 首部
3.2.4 實(shí)體的主體部分
3.2.5 版本0.9的報(bào)文
3.3 方法
3.3.1 安全方法
3.3.2 GET
3.3.3 HEAD
3.3.4 PUT
3.3.5 POST
3.3.6 TRACE
3.3.7 OPTIONS
3.3.8 DELETE
3.3.9 擴(kuò)展方法
3.4 狀態(tài)碼
3.4.1 100~199——信息性狀態(tài)碼
3.4.2 200~299——成功狀態(tài)碼
3.4.3 300~399——重定向狀態(tài)碼
3.4.4 400~499——客戶端錯(cuò)誤狀態(tài)碼
3.4.5 500~599——服務(wù)器錯(cuò)誤狀態(tài)碼
3.5 首部
3.5.1 通用首部
3.5.2 請求首部
3.5.3 響應(yīng)首部
3.5.4 實(shí)體首部
3.6 更多信息
第4章 連接管理
4.1 TCP連接
4.1.1 TCP的可靠數(shù)據(jù)管道
4.1.2 TCP流是分段的、由IP分組傳送
4.1.3 保持TCP連接的正確運(yùn)行
4.1.4 用TCP套接字編程
4.2 對TCP性能的考慮
4.2.1 HTTP事務(wù)的時(shí)延
4.2.2 性能聚焦區(qū)域
4.2.3 TCP連接的握手時(shí)延
4.2.4 延遲確認(rèn)
4.2.5 TCP慢啟動(dòng)
4.2.6 Nagle算法與TCP_NODELAY
4.2.7 TIME_WAIT累積與端口耗盡
4.3 HTTP連接的處理
4.3.1 常被誤解的Connection首部
4.3.2 串行事務(wù)處理時(shí)延
4.4 并行連接
4.4.1 并行連接可能會(huì)提高頁面的加載速度
4.4.2 并行連接不一定更快
4.4.3 并行連接可能讓人“感覺”更快一些
4.5 持久連接
4.5.1 持久以及并行連接
4.5.2 HTTP/1.0+ keep-alive連接
4.5.3 Keep-Alive操作
4.5.4 Keep-Alive選項(xiàng)
4.5.5 Keep-Alive連接的限制和規(guī)則
4.5.6 Keep-Alive和啞代理
4.5.7 插入Proxy-Connection
4.5.8 HTTP/1.1持久連接
4.5.9 持久連接的限制和規(guī)則
4.6 管道化連接
4.7 關(guān)閉連接的奧秘
4.7.1 “任意”解除連接
4.7.2 Content-Length及截尾操作
4.7.3 連接關(guān)閉容限、重試以及冪等性
4.7.4 正常關(guān)閉連接
4.8 更多信息
4.8.1 HTTP連接
4.8.2 HTTP性能問題
4.8.3 TCP/IP
第二部分 HTTP結(jié)構(gòu)
第5章 Web服務(wù)器
5.1 各種形狀和尺寸的Web服務(wù)器
5.1.1 Web服務(wù)器的實(shí)現(xiàn)
5.1.2 通用軟件Web服務(wù)器
5.1.3 Web服務(wù)器設(shè)備
5.1.4 嵌入式Web服務(wù)器
5.2 最小的Perl Web服務(wù)器
5.3 實(shí)際的Web服務(wù)器會(huì)做些什么
5.4 第一步——接受客戶端連接
5.4.1 處理新連接
5.4.2 客戶端主機(jī)名識(shí)別
5.4.3 通過ident確定客戶端用戶
5.5 第二步——接收請求報(bào)文
5.5.1 報(bào)文的內(nèi)部表示法
5.5.2 連接的輸入/輸出處理結(jié)構(gòu)
5.6 第三步——處理請求
5.7 第四步——對資源的映射及訪問
5.7.1 docroot
5.7.2 目錄列表
5.7.3 動(dòng)態(tài)內(nèi)容資源的映射
5.7.4 服務(wù)器端包含項(xiàng)
5.7.5 訪問控制
5.8 第五步——構(gòu)建響應(yīng)
5.8.1 響應(yīng)實(shí)體
5.8.2 MIME類型
5.8.3 重定向
5.9 第六步——發(fā)送響應(yīng)
5.10 第七步——記錄日志
5.11 更多信息
第6章 代理
6.1 Web的中間實(shí)體
6.1.1 私有和共享代理
6.1.2 代理與網(wǎng)關(guān)的對比
6.2 為什么使用代理
6.3 代理會(huì)去往何處
6.3.1 代理服務(wù)器的部署
6.3.2 代理的層次結(jié)構(gòu)
6.3.3 代理是如何獲取流量的
6.4 客戶端的代理設(shè)置
6.4.1 客戶端的代理配置:手工配置
6.4.2 客戶端代理配置:PAC文件
6.4.3 客戶端代理配置:WPAD
6.5 與代理請求有關(guān)的一些棘手問題
6.5.1 代理URI與服務(wù)器URI的不同
6.5.2 與虛擬主機(jī)一樣的問題
6.5.3 攔截代理會(huì)收到部分URI
6.5.4 代理既可以處理代理請求,也可以處理服務(wù)器請求
6.5.5 轉(zhuǎn)發(fā)過程中對URI的修改
6.5.6 URI的客戶端自動(dòng)擴(kuò)展和主機(jī)名解析
6.5.7 沒有代理時(shí)URI的解析
6.5.8 有顯式代理時(shí)URI的解析
6.5.9 有攔截代理時(shí)URI的解析
6.6 追蹤報(bào)文
6.6.1 Via首部
6.6.2 TRACE方法
6.7 代理認(rèn)證
6.8 代理的互操作性
6.8.1 處理代理不支持的首部和方法
6.8.2 OPTIONS:發(fā)現(xiàn)對可選特性的支持
6.8.3 Allow首部
6.9 更多信息
第7章 緩存
7.1 冗余的數(shù)據(jù)傳輸
7.2 帶寬瓶頸
7.3 瞬間擁塞
7.4 距離時(shí)延
7.5 命中和未命中的
7.5.1 再驗(yàn)證
7.5.2 命中率
7.5.3 字節(jié)命中率
7.5.4 區(qū)分命中和未命中的情況
7.6 緩存的拓?fù)浣Y(jié)構(gòu)
7.6.1 私有緩存
7.6.2 公有代理緩存
7.6.3 代理緩存的層次結(jié)構(gòu)
7.6.4 網(wǎng)狀緩存、內(nèi)容路由以及對等緩存
7.7 緩存的處理步驟
7.7.1 第一步——接收
7.7.2 第二步——解析
7.7.3 第三步——查找
7.7.4 第四步——新鮮度檢測
7.7.5 第五步——創(chuàng)建響應(yīng)
7.7.6 第六步——發(fā)送
7.7.7 第七步——日志
7.7.8 緩存處理流程圖
7.8 保持副本的新鮮
7.8.1 文檔過期
7.8.2 過期日期和使用期
7.8.3 服務(wù)器再驗(yàn)證
7.8.4 用條件方法進(jìn)行再驗(yàn)證
7.8.5 If-Modified-Since:Date再驗(yàn)證
7.8.6 If-None-Match:實(shí)體標(biāo)簽再驗(yàn)證
7.8.7 強(qiáng)弱驗(yàn)證器
7.8.8 什么時(shí)候應(yīng)該使用實(shí)體標(biāo)簽和最近修改日期
7.9 控制緩存的能力
7.9.1 no-Store與no-Cache響應(yīng)首部
7.9.2 max-age響應(yīng)首部
7.9.3 Expires響應(yīng)首部
7.9.4 must-revalidate響應(yīng)首部
7.9.5 試探性過期
7.9.6 客戶端的新鮮度限制
7.9.7 注意事項(xiàng)
7.10 設(shè)置緩存控制
7.10.1 控制Apache的HTTP首部
7.10.2 通過HTTP-EQUIV控制HTML緩存
7.11 詳細(xì)算法
7.11.1 使用期和新鮮生存期
7.11.2 使用期的計(jì)算
7.11.3 完整的使用期計(jì)算算法
7.11.4 新鮮生存期計(jì)算
7.11.5 完整的服務(wù)器——新鮮度算法
7.12 緩存和廣告
7.12.1 發(fā)布廣告者的兩難處境
7.12.2 發(fā)布者的響應(yīng)
7.12.3 日志遷移
7.12.4 命中計(jì)數(shù)和使用限制
7.13 更多信息
第8章 集成點(diǎn):網(wǎng)關(guān)、隧道及中繼
8.1 網(wǎng)關(guān)
8.2 協(xié)議網(wǎng)關(guān)
8.2.1 HTTP/*:服務(wù)器端Web網(wǎng)關(guān)
8.2.2 HTTP/HTTPS:服務(wù)器端安全網(wǎng)關(guān)
8.2.3 HTTPS/HTTP客戶端安全加速器網(wǎng)關(guān)
8.3 資源網(wǎng)關(guān)
8.3.1 CGI
8.3.2 服務(wù)器擴(kuò)展API
8.4 應(yīng)用程序接口和Web服務(wù)
8.5 隧道
8.5.1 用CONNECT建立HTTP隧道
8.5.2 數(shù)據(jù)隧道、定時(shí)及連接管理
8.5.3 SSL隧道
8.5.4 SSL隧道與HTTP/HTTPS網(wǎng)關(guān)的對比
8.5.5 隧道認(rèn)證
8.5.6 隧道的安全性考慮
8.6 中繼
8.7 更多信息
第9章 Web機(jī)器人
9.1 爬蟲及爬行方式
9.1.1 從哪兒開始:根集
9.1.2 鏈接的提取以及相對鏈接的標(biāo)準(zhǔn)化
9.1.3 避免環(huán)路的出現(xiàn)
9.1.4 循環(huán)與復(fù)制
9.1.5 面包屑留下的痕跡
9.1.6 別名與機(jī)器人環(huán)路
9.1.7 規(guī)范化URL
9.1.8 文件系統(tǒng)連接環(huán)路
9.1.9 動(dòng)態(tài)虛擬Web空間
9.1.10 避免循環(huán)和重復(fù)
9.2 機(jī)器人的HTTP
9.2.1 識(shí)別請求首部
9.2.2 虛擬主機(jī)
9.2.3 條件請求
9.2.4 對響應(yīng)的處理
9.2.5 User-Agent導(dǎo)向
9.3 行為不當(dāng)?shù)臋C(jī)器人
9.4 拒絕機(jī)器人訪問
9.4.1 拒絕機(jī)器人訪問標(biāo)準(zhǔn)
9.4.2 Web站點(diǎn)和robots.txt文件
9.4.3 robots.txt文件的格式
9.4.4 其他有關(guān)robots.txt的知識(shí)
9.4.5 緩存和robots.txt的過期
9.4.6 拒絕機(jī)器人訪問的Perl代碼
9.4.7 HTML的robot-control元標(biāo)簽
9.5 機(jī)器人的規(guī)范
9.6 搜索引擎
9.6.1 大格局
9.6.2 現(xiàn)代搜索引擎結(jié)構(gòu)
9.6.3 全文索引
9.6.4 發(fā)布查詢請求
9.6.5 對結(jié)果進(jìn)行排序,并提供查詢結(jié)果
9.6.6 欺詐
9.7 更多信息
第10章 HTTP-NG
10.1 HTTP發(fā)展中存在的問題
10.2 HTTP-NG的活動(dòng)
10.3 模塊化及功能增強(qiáng)
10.4 分布式對象
10.5 第一層——報(bào)文傳輸
10.6 第二層——遠(yuǎn)程調(diào)用
10.7 第三層——Web應(yīng)用
10.8 WebMUX
10.9 二進(jìn)制連接協(xié)議
10.10 當(dāng)前的狀態(tài)
10.11 更多信息
第三部分 識(shí)別、認(rèn)證與安全
第11章 客戶端識(shí)別與cookie機(jī)制
11.1 個(gè)性化接觸
11.2 HTTP首部
11.3 客戶端IP地址
11.4 用戶登錄
11.5 胖URL
11.6 cookie
11.6.1 cookie的類型
11.6.2 cookie是如何工作的
11.6.3 cookie罐:客戶端的狀態(tài)
11.6.4 不同站點(diǎn)使用不同的cookie
11.6.5 cookie成分
11.6.6 cookies版本0(Netscape)
11.6.7 cookies版本1(RFC 2965)
11.6.8 cookie與會(huì)話跟蹤
11.6.9 cookie與緩存
11.6.10 cookie、安全性和隱私
11.7 更多信息
第12章 基本認(rèn)證機(jī)制
12.1 認(rèn)證
12.1.1 HTTP的質(zhì)詢/響應(yīng)認(rèn)證框架
12.1.2 認(rèn)證協(xié)議與首部
12.1.3 安全域
12.2 基本認(rèn)證
12.2.1 基本認(rèn)證實(shí)例
12.2.2 Base-64用戶名/密碼編碼
12.2.3 代理認(rèn)證
12.3 基本認(rèn)證的安全缺陷
12.4 更多信息
第13章 摘要認(rèn)證
13.1 摘要認(rèn)證的改進(jìn)
13.1.1 用摘要保護(hù)密碼
13.1.2 單向摘要
13.1.3 用隨機(jī)數(shù)防止重放攻擊
13.1.4 摘要認(rèn)證的握手機(jī)制
13.2 摘要的計(jì)算
13.2.1 摘要算法的輸入數(shù)據(jù)
13.2.2 算法H(d)和KD(s,d)
13.2.3 與安全性相關(guān)的數(shù)據(jù)(A1)
13.2.4 與報(bào)文有關(guān)的數(shù)據(jù)(A2)
13.2.5 摘要算法總述
13.2.6 摘要認(rèn)證會(huì)話
13.2.7 預(yù)授權(quán)
13.2.8 隨機(jī)數(shù)的選擇
13.2.9 對稱認(rèn)證
13.3 增強(qiáng)保護(hù)質(zhì)量
13.3.1 報(bào)文完整性保護(hù)
13.3.2 摘要認(rèn)證首部
13.4 應(yīng)該考慮的實(shí)際問題
13.4.1 多重質(zhì)詢
13.4.2 差錯(cuò)處理
13.4.3 保護(hù)空間
13.4.4 重寫URI
13.4.5 緩存
13.5 安全性考慮
13.5.1 首部篡改
13.5.2 重放攻擊
13.5.3 多重認(rèn)證機(jī)制
13.5.4 詞典攻擊
13.5.5 惡意代理攻擊和中間人攻擊
13.5.6 選擇明文攻擊
13.5.7 存儲(chǔ)密碼
13.6 更多信息
第14章 安全HTTP
14.1 保護(hù)HTTP 的安全
14.2 數(shù)字加密
14.2.1 密碼編制的機(jī)制與技巧
14.2.2 密碼
14.2.3 密碼機(jī)
14.2.4 使用了密鑰的密碼
14.2.5 數(shù)字密碼
14.3 對稱密鑰加密技術(shù)
14.3.1 密鑰長度與枚舉攻擊
14.3.2 建立共享密鑰
14.4 公開密鑰加密技術(shù)
14.4.1 RSA
14.4.2 混合加密系統(tǒng)和會(huì)話密鑰
14.5 數(shù)字簽名
14.6 數(shù)字證書
14.6.1 證書的主要內(nèi)容
14.6.2 X.509 v3證書
14.6.3 用證書對服務(wù)器進(jìn)行認(rèn)證
14.7 HTTPS——細(xì)節(jié)介紹
14.7.1 HTTPS概述
14.7.2 HTTPS方案
14.7.3 建立安全傳輸
14.7.4 SSL握手
14.7.5 服務(wù)器證書
14.7.6 站點(diǎn)證書的有效性
14.7.7 虛擬主機(jī)與證書
14.8 HTTPS客戶端實(shí)例
14.8.1 OpenSSL
14.8.2 簡單的HTTPS客戶端
14.8.3 執(zhí)行OpenSSL客戶端
14.9 通過代理以隧道形式傳輸安全流量
14.10 更多信息
14.10.1 HTTP安全性
14.10.2 SSL與TLS
14.10.3 公開密鑰基礎(chǔ)設(shè)施
14.10.4 數(shù)字密碼
第四部分 實(shí)體、編碼和國際化
第15章 實(shí)體和編碼
15.1 報(bào)文是箱子,實(shí)體是貨物
15.2 Content-Length: 實(shí)體的大小
15.2.1 檢測截尾
15.2.2 錯(cuò)誤的Content-Length
15.2.3 Content-Length與持久連接
15.2.4 內(nèi)容編碼
15.2.5 確定實(shí)體主體長度的規(guī)則
15.3 實(shí)體摘要
15.4 媒體類型和字符集
15.4.1 文本的字符編碼
15.4.2 多部分媒體類型
15.4.3 多部分表格提交
15.4.4 多部分范圍響應(yīng)
15.5 內(nèi)容編碼
15.5.1 內(nèi)容編碼過程
15.5.2 內(nèi)容編碼類型
15.5.3 Accept-Encoding首部
15.6 傳輸編碼和分塊編碼
15.6.1 可靠傳輸
15.6.2 Transfer-Encoding首部
15.6.3 分塊編碼
15.6.4 內(nèi)容編碼與傳輸編碼的結(jié)合
15.6.5 傳輸編碼的規(guī)則
15.7 隨時(shí)間變化的實(shí)例
15.8 驗(yàn)證碼和新鮮度
15.8.1 新鮮度
15.8.2 有條件的請求與驗(yàn)證碼
15.9 范圍請求
15.10 差異編碼
15.11 更多信息
第16章 國際化
16.1 HTTP對國際性內(nèi)容的支持
16.2 字符集與HTTP
16.2.1 字符集是把字符轉(zhuǎn)換為二進(jìn)制碼的編碼
16.2.2 字符集和編碼如何工作
16.2.3 字符集不對,字符就不對
16.2.4 標(biāo)準(zhǔn)化的MIME charset值
16.2.5 Content-Type首部和Charset首部以及META標(biāo)志
16.2.6 Accept-Charset首部
16.3 多語言字符編碼入門
16.3.1 字符集術(shù)語
16.3.2 字符集的命名很糟糕
16.3.3 字符
16.3.4 字形、連筆以及表示形式
16.3.5 編碼后的字符集
16.3.6 字符編碼方案
16.4 語言標(biāo)記與HTTP
16.4.1 Content-Language首部
16.4.2 Accept-Language首部
16.4.3 語言標(biāo)記的類型
16.4.4 子標(biāo)記
16.4.5 大小寫
16.4.6 IANA語言標(biāo)記注冊
16.4.7 第一個(gè)子標(biāo)記——名字空間
16.4.8 第二個(gè)子標(biāo)記——名字空間
16.4.9 其余子標(biāo)記——名字空間
16.4.10 配置和語言有關(guān)的首選項(xiàng)
16.4.11 語言標(biāo)記參考表
16.5 國際化的URI
16.5.1 全球性的可轉(zhuǎn)抄能力與有意義的字符的較量
16.5.2 URI字符集合
16.5.3 轉(zhuǎn)義和反轉(zhuǎn)義
16.5.4 轉(zhuǎn)義國際化字符
16.5.5 URI中的模態(tài)切換
16.6 其他需要考慮的地方
16.6.1 首部和不合規(guī)范的數(shù)據(jù)
16.6.2 日期
16.6.3 域名
16.7 更多信息
16.7.1 附錄
16.7.2 互聯(lián)網(wǎng)的國際化
16.7.3 國際標(biāo)準(zhǔn)
第17章 內(nèi)容協(xié)商與轉(zhuǎn)碼
17.1 內(nèi)容協(xié)商技術(shù)
17.2 客戶端驅(qū)動(dòng)的協(xié)商
17.3 服務(wù)器驅(qū)動(dòng)的協(xié)商
17.3.1 內(nèi)容協(xié)商首部集
17.3.2 內(nèi)容協(xié)商首部中的質(zhì)量值
17.3.3 隨其他首部集而變化
17.3.4 Apache中的內(nèi)容協(xié)商
17.3.5 服務(wù)器端擴(kuò)展
17.4 透明協(xié)商
17.4.1 進(jìn)行緩存與備用候選
17.4.2 Vary首部
17.5 轉(zhuǎn)碼
17.5.1 格式轉(zhuǎn)換
17.5.2 信息綜合
17.5.3 內(nèi)容注入
17.5.4 轉(zhuǎn)碼與靜態(tài)預(yù)生成的對比
17.6 下一步計(jì)劃
17.7 更多信息
第五部分 內(nèi)容發(fā)布與分發(fā)
第18章 Web主機(jī)托管
18.1 主機(jī)托管服務(wù)
18.2 虛擬主機(jī)托管
18.2.1 虛擬服務(wù)器請求缺乏主機(jī)信息
18.2.2 設(shè)法讓虛擬主機(jī)托管正常工作
18.2.3 HTTP/1.1的Host首部
18.3 使網(wǎng)站更可靠
18.3.1 鏡像的服務(wù)器集群
18.3.2 內(nèi)容分發(fā)網(wǎng)絡(luò)
18.3.3 CDN中的反向代理緩存
18.3.4 CDN中的代理緩存
18.4 讓網(wǎng)站更快
18.5 更多信息
第19章 發(fā)布系統(tǒng)
19.1 FrontPage為支持發(fā)布而做的服務(wù)器擴(kuò)展
19.1.1 FrontPage服務(wù)器擴(kuò)展
19.1.2 FrontPage術(shù)語表
19.1.3 FrontPage的RPC協(xié)議
19.1.4 FrontPage的安全模型
19.2 WebDAV與協(xié)作寫作
19.2.1 WebDAV的方法
19.2.2 WebDAV與XML
19.2.3 WebDAV首部集
19.2.4 WebDAV的鎖定與防止覆寫
19.2.5 LOCK方法
19.2.6 UNLOCK方法
19.2.7 屬性和元數(shù)據(jù)
19.2.8 PROPFIND方法
19.2.9 PROPPATCH方法
19.2.10 集合與名字空間管理
19.2.11 MKCOL方法
19.2.12 DELETE方法
19.2.13 COPY與MOVE方法
19.2.14 增強(qiáng)的HTTP/1.1方法
19.2.15 WebDAV中的版本管理
19.2.16 WebDAV的未來發(fā)展
19.3 更多信息
第20章 重定向與負(fù)載均衡
20.1 為什么要重定向
20.2 重定向到何地
20.3 重定向協(xié)議概覽
20.4 通用的重定向方法
20.4.1 HTTP重定向
20.4.2 DNS重定向
20.4.3 任播尋址
20.4.4 IP MAC轉(zhuǎn)發(fā)
20.4.5 IP地址轉(zhuǎn)發(fā)
20.4.6 網(wǎng)元控制協(xié)議
20.5 代理的重定向方法
20.5.1 顯式瀏覽器配置
20.5.2 代理自動(dòng)配置
20.5.3 Web代理自動(dòng)發(fā)現(xiàn)協(xié)議
20.6 緩存重定向方法
20.7 因特網(wǎng)緩存協(xié)議
20.8 緩存陣列路由協(xié)議
20.9 超文本緩存協(xié)議
20.9.1 HTCP認(rèn)證
20.9.2 設(shè)置緩存策略
20.10 更多信息
第21章 日志記錄與使用情況跟蹤
21.1 記錄內(nèi)容
21.2 日志格式
21.2.1 常見日志格式
21.2.2 組合日志格式
21.2.3 網(wǎng)景擴(kuò)展日志格式
21.2.4 網(wǎng)景擴(kuò)展2日志格式
21.2.5 Squid代理日志格式
21.3 命中率測量
21.3.1 概述
21.3.2 Meter首部
21.4 關(guān)于隱私的考慮
21.5 更多信息
第六部分 附錄
附錄A URI方案
附錄B HTTP狀態(tài)碼
附錄C HTTP首部參考
附錄D MIME類型
附錄E Base-64編碼
附錄F 摘要認(rèn)證
附錄G 語言標(biāo)記
附錄H MIME字符集注冊表
索引