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