HTTP權威指南

HTTP權威指南 pdf epub mobi txt 電子書 下載 2025

[美] David Gourley,[美] Brian Totty,[美] Marjorie Sayer,[美] Sailu Reddy,[美] Anshu Aggarwal 著,陳涓,趙振平 譯
圖書標籤:
  • HTTP
  • 網絡協議
  • Web開發
  • 互聯網
  • 計算機網絡
  • 書籍
  • 技術
  • 編程
  • Web服務器
  • RESTful API
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115281487
版次:1
商品編碼:11056556
包裝:平裝
叢書名: 圖靈程序設計叢書
開本:16開
齣版時間:2012-09-01
用紙:膠版紙
頁數:694
字數:1067000
正文語種:中文

具體描述

編輯推薦

  

HTTP及相關核心Web技術方麵的著作
   專傢詳解HTTP協議、深入說明Web工作原理
   語言簡潔精確,細節圖解翔實
   高效Web開發、Web程序員必備指南
   HTTP是Web的基礎,這裏所說的Web,不僅隻是通常意義上的Browser/Server端的開發,而是Web Service。
    HTTP初看上去似乎是非常簡單的協議,是的,HTTP 0.9確實是非常簡單的,簡單到隻有一個GET方法,更不用說什麼持久連接瞭。HTTP協議還有一個顯著特點,那就是其協議是明文的基於文本的。這使得通過工具與HTTP進行交互變得非常簡單,原始的telnet也可以發送HTTP請求(參考本書15頁)。
  而大多數人對HTTP的瞭解也就是這種程度瞭(沒有讀此書之前的我也是這樣)。此書的意義在於,它讓你知道,HTTP不僅隻有一個簡單的GET,HTTP可以做為一種通用的分布式編程的協議。現如今Web上大行其道的所謂Restful Web Service,其基礎就是HTTP,而提齣Rest這個概念的Roy Fielding,也是HTTP協議(RFC2616)的主要作者之一

內容簡介

HTTP(HyperText Transfer Protocol,超文本傳輸協議)是Web客戶端與服務器交互文檔和信息時所使用的協議,是每個成功Web事務的幕後推手。眾所周知,我們每天訪問公司內部網絡、搜索絕版書籍、研究統計信息時所使用的瀏覽器的核心就是HTTP。但HTTP的應用遠不僅僅是瀏覽Web內容。由於HTTP既簡單又普及,很多其他網絡應用程序也選擇瞭它,尤其是采用SOAP和XML-RPC這樣的Web服務。
詳細解釋瞭HTTP協議,包括它是如何工作的,如何用它來開發基於Web的應用程序。但本書並不隻介紹瞭HTTP,還探討瞭HTTP有效工作所依賴的所有其他核心因特網技術。盡管HTTP是本書的中心內容,但本書的本質是理解Web的工作原理,以及如何將這些知識應用到Web編程和管理之中去,主要涵蓋HTTP的技術運作方式、産生動機、性能和目標,以及一些相關技術問題。
本書是HTTP協議及相關Web技術方麵的著作,主要內容包括:
HTTP方法、首部以及狀態碼
優化代理和緩存的方法
設計Web機器人和爬蟲的策略
Cookies、認證以及安全HTTP
國際化及內容協商
重定嚮及負載平衡策略

本書由具有多年實踐經驗的專傢編寫,通過簡潔語言和大量翔實的細節圖解幫助讀者形象地理解Web幕後所發生的事情,詳細說明瞭Web上每條請求的實際運行情況。要想高效地進行Web開發,所有Web程序員、管理員和應用程序開發者都應該熟悉HTTP。很多書籍隻介紹瞭Web的使用方式,而本書則深入說明瞭Web的工作原理。

作者簡介

  David Gourley,Endeca的首席技術官(Chief TechnologyOfficer),負責Endeca産品的研究及開發。Endeca開發的因特網及內部網絡信息訪問解決方案為企業級數據的導航及研究提供瞭一些新的方式。在到Endeca工作之前,David是Inktomi基礎工程組的一員,他在那兒幫助開發瞭Inktomi的因特網搜索數據庫,是Inktomi的Web緩存産品的主要開發者。David在加州大學伯剋利分校獲得瞭計算機科學的學士學位,還擁有Web技術方麵的幾項專利。
  BrianTotty,齣任瞭Inktomi公司(這是1996年他參與建立的一傢公司)研發部副總裁,在公司中他負責Web緩存、流媒體及因特網搜索技術的研發工作。他曾是SiliconGraphics公司的一名科學傢,他在那兒為高性能網絡和超級計算機係統設計軟件並對其進行優化。在那之前,他是蘋果計算機公司高級技術組的一名工程師。Brian在伊利諾伊大學Urbana-Champaign分校獲得瞭計算機科學的博士學位,在MIT獲得瞭計算機科學及電子工程的學士學位,在那裏他獲得瞭計算機係統研究的Organick奬。他還為加州大學擴展係統開發並講授瞭一些屢獲殊榮的因特網技術方麵的課程。
  MarjorieSayer在Inktomi公司負責編寫Web緩存方麵的軟件。在加州大學伯剋利分校獲得瞭數學碩士和博士學位之後,一直緻力於數學課程的改革。從1990年開始緻力於能量資源管理、並行係統軟件、電話和網絡方麵的寫作。
  Sailu Reddy目前在Inktomi公司負責嵌入式的性能增強型HTTP代理的開發。Sailu從事復雜軟件係統的開發已經有12年瞭,從1995年開始深入Web架構的研發工作。他是Netscape Web服務器、Web代理産品,以及後麵幾代産品的核心工程師。他具備HTTP應用程序、數據壓縮技術、數據庫引擎以及閤作管理等方麵的技術經驗。Sailu在亞裏桑那大學獲得瞭信息係統的碩士學位並握有Web技術方麵的多項專利。
  AnshuAggarwal是Inktomi公司的工程總監。他領導著Inktomi公司Web緩存産品的協議處理工程組,從1997年就開始參與Inktomi的Web技術設計工作。Anshu在科羅拉多大學Boulder分校獲得瞭計算機科學的碩士和博士學位,從事分布式多處理器的內存一緻性技術研究。他還擁有電子工程的碩士和學士學位。Anshu撰寫瞭多篇技術論文,還擁有兩項專利。

目錄

第一部分 HTTP:Web的基礎
第1章 HTTP概述
1.1 HTTP——因特網的多媒體信使
1.2 Web客戶端和服務器
1.3 資源
1.3.1 媒體類型
1.3.2 URI
1.3.3 URL
1.3.4 URN
1.4 事務
1.4.1 方法
1.4.2 狀態碼
1.4.3 Web頁麵中可以包含多個對象
1.5 報文
1.6 連接
1.6.1 TCP/IP
1.6.2 連接、IP地址及端口號
1.6.3 使用Telnet實例
1.7 協議版本
1.8 Web的結構組件
1.8.1 代理
1.8.2 緩存
1.8.3 網關
1.8.4 隧道
1.8.5 Agent代理
1.9 起始部分的結束語
1.10 更多信息
1.10.1 HTTP協議信息
1.10.2 曆史透視
1.10.3 其他萬維網信息

第2章 URL與資源
2.1 瀏覽因特網資源
2.2 URL的語法
2.2.1 方案——使用什麼協議
2.2.2 主機與端口
2.2.3 用戶名和密碼
2.2.4 路徑
2.2.5 參數
2.2.6 查詢字符串
2.2.7 片段
2.3 URL快捷方式
2.3.1 相對URL
2.3.2 自動擴展URL
2.4 各種令人頭疼的字符
2.4.1 URL字符集
2.4.2 編碼機製
2.4.3 字符限製
2.4.4 另外一點說明
2.5 方案的世界
2.6 未來展望
2.7 更多信息

第3章 HTTP報文
3.1 報文流
3.1.1 報文流入源端服務器
3.1.2 報文嚮下遊流動
3.2 報文的組成部分
3.2.1 報文的語法
3.2.2 起始行
3.2.3 首部
3.2.4 實體的主體部分
3.2.5 版本0.9的報文
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 擴展方法
3.4 狀態碼
3.4.1 100~199——信息性狀態碼
3.4.2 200~299——成功狀態碼
3.4.3 300~399——重定嚮狀態碼
3.4.4 400~499——客戶端錯誤狀態碼
3.4.5 500~599——服務器錯誤狀態碼
3.5 首部
3.5.1 通用首部
3.5.2 請求首部
3.5.3 響應首部
3.5.4 實體首部
3.6 更多信息

第4章 連接管理
4.1 TCP連接
4.1.1 TCP的可靠數據管道
4.1.2 TCP流是分段的、由IP分組傳送
4.1.3 保持TCP連接的正確運行
4.1.4 用TCP套接字編程
4.2 對TCP性能的考慮
4.2.1 HTTP事務的時延
4.2.2 性能聚焦區域
4.2.3 TCP連接的握手時延
4.2.4 延遲確認
4.2.5 TCP慢啓動
4.2.6 Nagle算法與TCP_NODELAY
4.2.7 TIME_WAIT纍積與端口耗盡
4.3 HTTP連接的處理
4.3.1 常被誤解的Connection首部
4.3.2 串行事務處理時延
4.4 並行連接
4.4.1 並行連接可能會提高頁麵的加載速度
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選項
4.5.5 Keep-Alive連接的限製和規則
4.5.6 Keep-Alive和啞代理
4.5.7 插入Proxy-Connection
4.5.8 HTTP/1.1持久連接
4.5.9 持久連接的限製和規則
4.6 管道化連接
4.7 關閉連接的奧秘
4.7.1 “任意”解除連接
4.7.2 Content-Length及截尾操作
4.7.3 連接關閉容限、重試以及冪等性
4.7.4 正常關閉連接
4.8 更多信息
4.8.1 HTTP連接
4.8.2 HTTP性能問題
4.8.3 TCP/IP

第二部分 HTTP結構
第5章 Web服務器
5.1 各種形狀和尺寸的Web服務器
5.1.1 Web服務器的實現
5.1.2 通用軟件Web服務器
5.1.3 Web服務器設備
5.1.4 嵌入式Web服務器
5.2 最小的Perl Web服務器
5.3 實際的Web服務器會做些什麼
5.4 第一步——接受客戶端連接
5.4.1 處理新連接
5.4.2 客戶端主機名識彆
5.4.3 通過ident確定客戶端用戶
5.5 第二步——接收請求報文
5.5.1 報文的內部錶示法
5.5.2 連接的輸入/輸齣處理結構
5.6 第三步——處理請求
5.7 第四步——對資源的映射及訪問
5.7.1 docroot
5.7.2 目錄列錶
5.7.3 動態內容資源的映射
5.7.4 服務器端包含項
5.7.5 訪問控製
5.8 第五步——構建響應
5.8.1 響應實體
5.8.2 MIME類型
5.8.3 重定嚮
5.9 第六步——發送響應
5.10 第七步——記錄日誌
5.11 更多信息

第6章 代理
6.1 Web的中間實體
6.1.1 私有和共享代理
6.1.2 代理與網關的對比
6.2 為什麼使用代理
6.3 代理會去往何處
6.3.1 代理服務器的部署
6.3.2 代理的層次結構
6.3.3 代理是如何獲取流量的
6.4 客戶端的代理設置
6.4.1 客戶端的代理配置:手工配置
6.4.2 客戶端代理配置:PAC文件
6.4.3 客戶端代理配置:WPAD
6.5 與代理請求有關的一些棘手問題
6.5.1 代理URI與服務器URI的不同
6.5.2 與虛擬主機一樣的問題
6.5.3 攔截代理會收到部分URI
6.5.4 代理既可以處理代理請求,也可以處理服務器請求
6.5.5 轉發過程中對URI的修改
6.5.6 URI的客戶端自動擴展和主機名解析
6.5.7 沒有代理時URI的解析
6.5.8 有顯式代理時URI的解析
6.5.9 有攔截代理時URI的解析
6.6 追蹤報文
6.6.1 Via首部
6.6.2 TRACE方法
6.7 代理認證
6.8 代理的互操作性
6.8.1 處理代理不支持的首部和方法
6.8.2 OPTIONS:發現對可選特性的支持
6.8.3 Allow首部
6.9 更多信息

第7章 緩存
7.1 冗餘的數據傳輸
7.2 帶寬瓶頸
7.3 瞬間擁塞
7.4 距離時延
7.5 命中和未命中的
7.5.1 再驗證
7.5.2 命中率
7.5.3 字節命中率
7.5.4 區分命中和未命中的情況
7.6 緩存的拓撲結構
7.6.1 私有緩存
7.6.2 公有代理緩存
7.6.3 代理緩存的層次結構
7.6.4 網狀緩存、內容路由以及對等緩存
7.7 緩存的處理步驟
7.7.1 第一步——接收
7.7.2 第二步——解析
7.7.3 第三步——查找
7.7.4 第四步——新鮮度檢測
7.7.5 第五步——創建響應
7.7.6 第六步——發送
7.7.7 第七步——日誌
7.7.8 緩存處理流程圖
7.8 保持副本的新鮮
7.8.1 文檔過期
7.8.2 過期日期和使用期
7.8.3 服務器再驗證
7.8.4 用條件方法進行再驗證
7.8.5 If-Modified-Since:Date再驗證
7.8.6 If-None-Match:實體標簽再驗證
7.8.7 強弱驗證器
7.8.8 什麼時候應該使用實體標簽和最近修改日期
7.9 控製緩存的能力
7.9.1 no-Store與no-Cache響應首部
7.9.2 max-age響應首部
7.9.3 Expires響應首部
7.9.4 must-revalidate響應首部
7.9.5 試探性過期
7.9.6 客戶端的新鮮度限製
7.9.7 注意事項
7.10 設置緩存控製
7.10.1 控製Apache的HTTP首部
7.10.2 通過HTTP-EQUIV控製HTML緩存
7.11 詳細算法
7.11.1 使用期和新鮮生存期
7.11.2 使用期的計算
7.11.3 完整的使用期計算算法
7.11.4 新鮮生存期計算
7.11.5 完整的服務器——新鮮度算法
7.12 緩存和廣告
7.12.1 發布廣告者的兩難處境
7.12.2 發布者的響應
7.12.3 日誌遷移
7.12.4 命中計數和使用限製
7.13 更多信息

第8章 集成點:網關、隧道及中繼
8.1 網關
8.2 協議網關
8.2.1 HTTP/*:服務器端Web網關
8.2.2 HTTP/HTTPS:服務器端安全網關
8.2.3 HTTPS/HTTP客戶端安全加速器網關
8.3 資源網關
8.3.1 CGI
8.3.2 服務器擴展API
8.4 應用程序接口和Web服務
8.5 隧道
8.5.1 用CONNECT建立HTTP隧道
8.5.2 數據隧道、定時及連接管理
8.5.3 SSL隧道
8.5.4 SSL隧道與HTTP/HTTPS網關的對比
8.5.5 隧道認證
8.5.6 隧道的安全性考慮
8.6 中繼
8.7 更多信息

第9章 Web機器人
9.1 爬蟲及爬行方式
9.1.1 從哪兒開始:根集
9.1.2 鏈接的提取以及相對鏈接的標準化
9.1.3 避免環路的齣現
9.1.4 循環與復製
9.1.5 麵包屑留下的痕跡
9.1.6 彆名與機器人環路
9.1.7 規範化URL
9.1.8 文件係統連接環路
9.1.9 動態虛擬Web空間
9.1.10 避免循環和重復
9.2 機器人的HTTP
9.2.1 識彆請求首部
9.2.2 虛擬主機
9.2.3 條件請求
9.2.4 對響應的處理
9.2.5 User-Agent導嚮
9.3 行為不當的機器人
9.4 拒絕機器人訪問
9.4.1 拒絕機器人訪問標準
9.4.2 Web站點和robots.txt文件
9.4.3 robots.txt文件的格式
9.4.4 其他有關robots.txt的知識
9.4.5 緩存和robots.txt的過期
9.4.6 拒絕機器人訪問的Perl代碼
9.4.7 HTML的robot-control元標簽
9.5 機器人的規範
9.6 搜索引擎
9.6.1 大格局
9.6.2 現代搜索引擎結構
9.6.3 全文索引
9.6.4 發布查詢請求
9.6.5 對結果進行排序,並提供查詢結果
9.6.6 欺詐
9.7 更多信息

第10章 HTTP-NG
10.1 HTTP發展中存在的問題
10.2 HTTP-NG的活動
10.3 模塊化及功能增強
10.4 分布式對象
10.5 第一層——報文傳輸
10.6 第二層——遠程調用
10.7 第三層——Web應用
10.8 WebMUX
10.9 二進製連接協議
10.10 當前的狀態
10.11 更多信息

第三部分 識彆、認證與安全
第11章 客戶端識彆與cookie機製
11.1 個性化接觸
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罐:客戶端的狀態
11.6.4 不同站點使用不同的cookie
11.6.5 cookie成分
11.6.6 cookies版本0(Netscape)
11.6.7 cookies版本1(RFC 2965)
11.6.8 cookie與會話跟蹤
11.6.9 cookie與緩存
11.6.10 cookie、安全性和隱私
11.7 更多信息

第12章 基本認證機製
12.1 認證
12.1.1 HTTP的質詢/響應認證框架
12.1.2 認證協議與首部
12.1.3 安全域
12.2 基本認證
12.2.1 基本認證實例
12.2.2 Base-64用戶名/密碼編碼
12.2.3 代理認證
12.3 基本認證的安全缺陷
12.4 更多信息

第13章 摘要認證
13.1 摘要認證的改進
13.1.1 用摘要保護密碼
13.1.2 單嚮摘要
13.1.3 用隨機數防止重放攻擊
13.1.4 摘要認證的握手機製
13.2 摘要的計算
13.2.1 摘要算法的輸入數據
13.2.2 算法H(d)和KD(s,d)
13.2.3 與安全性相關的數據(A1)
13.2.4 與報文有關的數據(A2)
13.2.5 摘要算法總述
13.2.6 摘要認證會話
13.2.7 預授權
13.2.8 隨機數的選擇
13.2.9 對稱認證
13.3 增強保護質量
13.3.1 報文完整性保護
13.3.2 摘要認證首部
13.4 應該考慮的實際問題
13.4.1 多重質詢
13.4.2 差錯處理
13.4.3 保護空間
13.4.4 重寫URI
13.4.5 緩存
13.5 安全性考慮
13.5.1 首部篡改
13.5.2 重放攻擊
13.5.3 多重認證機製
13.5.4 詞典攻擊
13.5.5 惡意代理攻擊和中間人攻擊
13.5.6 選擇明文攻擊
13.5.7 存儲密碼
13.6 更多信息

第14章 安全HTTP
14.1 保護HTTP 的安全
14.2 數字加密
14.2.1 密碼編製的機製與技巧
14.2.2 密碼
14.2.3 密碼機
14.2.4 使用瞭密鑰的密碼
14.2.5 數字密碼
14.3 對稱密鑰加密技術
14.3.1 密鑰長度與枚舉攻擊
14.3.2 建立共享密鑰
14.4 公開密鑰加密技術
14.4.1 RSA
14.4.2 混閤加密係統和會話密鑰
14.5 數字簽名
14.6 數字證書
14.6.1 證書的主要內容
14.6.2 X.509 v3證書
14.6.3 用證書對服務器進行認證
14.7 HTTPS——細節介紹
14.7.1 HTTPS概述
14.7.2 HTTPS方案
14.7.3 建立安全傳輸
14.7.4 SSL握手
14.7.5 服務器證書
14.7.6 站點證書的有效性
14.7.7 虛擬主機與證書
14.8 HTTPS客戶端實例
14.8.1 OpenSSL
14.8.2 簡單的HTTPS客戶端
14.8.3 執行OpenSSL客戶端
14.9 通過代理以隧道形式傳輸安全流量
14.10 更多信息
14.10.1 HTTP安全性
14.10.2 SSL與TLS
14.10.3 公開密鑰基礎設施
14.10.4 數字密碼

第四部分 實體、編碼和國際化
第15章 實體和編碼
15.1 報文是箱子,實體是貨物
15.2 Content-Length: 實體的大小
15.2.1 檢測截尾
15.2.2 錯誤的Content-Length
15.2.3 Content-Length與持久連接
15.2.4 內容編碼
15.2.5 確定實體主體長度的規則
15.3 實體摘要
15.4 媒體類型和字符集
15.4.1 文本的字符編碼
15.4.2 多部分媒體類型
15.4.3 多部分錶格提交
15.4.4 多部分範圍響應
15.5 內容編碼
15.5.1 內容編碼過程
15.5.2 內容編碼類型
15.5.3 Accept-Encoding首部
15.6 傳輸編碼和分塊編碼
15.6.1 可靠傳輸
15.6.2 Transfer-Encoding首部
15.6.3 分塊編碼
15.6.4 內容編碼與傳輸編碼的結閤
15.6.5 傳輸編碼的規則
15.7 隨時間變化的實例
15.8 驗證碼和新鮮度
15.8.1 新鮮度
15.8.2 有條件的請求與驗證碼
15.9 範圍請求
15.10 差異編碼
15.11 更多信息

第16章 國際化
16.1 HTTP對國際性內容的支持
16.2 字符集與HTTP
16.2.1 字符集是把字符轉換為二進製碼的編碼
16.2.2 字符集和編碼如何工作
16.2.3 字符集不對,字符就不對
16.2.4 標準化的MIME charset值
16.2.5 Content-Type首部和Charset首部以及META標誌
16.2.6 Accept-Charset首部
16.3 多語言字符編碼入門
16.3.1 字符集術語
16.3.2 字符集的命名很糟糕
16.3.3 字符
16.3.4 字形、連筆以及錶示形式
16.3.5 編碼後的字符集
16.3.6 字符編碼方案
16.4 語言標記與HTTP
16.4.1 Content-Language首部
16.4.2 Accept-Language首部
16.4.3 語言標記的類型
16.4.4 子標記
16.4.5 大小寫
16.4.6 IANA語言標記注冊
16.4.7 第一個子標記——名字空間
16.4.8 第二個子標記——名字空間
16.4.9 其餘子標記——名字空間
16.4.10 配置和語言有關的首選項
16.4.11 語言標記參考錶
16.5 國際化的URI
16.5.1 全球性的可轉抄能力與有意義的字符的較量
16.5.2 URI字符集閤
16.5.3 轉義和反轉義
16.5.4 轉義國際化字符
16.5.5 URI中的模態切換
16.6 其他需要考慮的地方
16.6.1 首部和不閤規範的數據
16.6.2 日期
16.6.3 域名
16.7 更多信息
16.7.1 附錄
16.7.2 互聯網的國際化
16.7.3 國際標準

第17章 內容協商與轉碼
17.1 內容協商技術
17.2 客戶端驅動的協商
17.3 服務器驅動的協商
17.3.1 內容協商首部集
17.3.2 內容協商首部中的質量值
17.3.3 隨其他首部集而變化
17.3.4 Apache中的內容協商
17.3.5 服務器端擴展
17.4 透明協商
17.4.1 進行緩存與備用候選
17.4.2 Vary首部
17.5 轉碼
17.5.1 格式轉換
17.5.2 信息綜閤
17.5.3 內容注入
17.5.4 轉碼與靜態預生成的對比
17.6 下一步計劃
17.7 更多信息

第五部分 內容發布與分發
第18章 Web主機托管
18.1 主機托管服務
18.2 虛擬主機托管
18.2.1 虛擬服務器請求缺乏主機信息
18.2.2 設法讓虛擬主機托管正常工作
18.2.3 HTTP/1.1的Host首部
18.3 使網站更可靠
18.3.1 鏡像的服務器集群
18.3.2 內容分發網絡
18.3.3 CDN中的反嚮代理緩存
18.3.4 CDN中的代理緩存
18.4 讓網站更快
18.5 更多信息

第19章 發布係統
19.1 FrontPage為支持發布而做的服務器擴展
19.1.1 FrontPage服務器擴展
19.1.2 FrontPage術語錶
19.1.3 FrontPage的RPC協議
19.1.4 FrontPage的安全模型
19.2 WebDAV與協作寫作
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 屬性和元數據
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 增強的HTTP/1.1方法
19.2.15 WebDAV中的版本管理
19.2.16 WebDAV的未來發展
19.3 更多信息

第20章 重定嚮與負載均衡
20.1 為什麼要重定嚮
20.2 重定嚮到何地
20.3 重定嚮協議概覽
20.4 通用的重定嚮方法
20.4.1 HTTP重定嚮
20.4.2 DNS重定嚮
20.4.3 任播尋址
20.4.4 IP MAC轉發
20.4.5 IP地址轉發
20.4.6 網元控製協議
20.5 代理的重定嚮方法
20.5.1 顯式瀏覽器配置
20.5.2 代理自動配置
20.5.3 Web代理自動發現協議
20.6 緩存重定嚮方法
20.7 因特網緩存協議
20.8 緩存陣列路由協議
20.9 超文本緩存協議
20.9.1 HTCP認證
20.9.2 設置緩存策略
20.10 更多信息

第21章 日誌記錄與使用情況跟蹤
21.1 記錄內容
21.2 日誌格式
21.2.1 常見日誌格式
21.2.2 組閤日誌格式
21.2.3 網景擴展日誌格式
21.2.4 網景擴展2日誌格式
21.2.5 Squid代理日誌格式
21.3 命中率測量
21.3.1 概述
21.3.2 Meter首部
21.4 關於隱私的考慮
21.5 更多信息

第六部分 附錄
附錄A URI方案
附錄B HTTP狀態碼
附錄C HTTP首部參考
附錄D MIME類型
附錄E Base-64編碼
附錄F 摘要認證
附錄G 語言標記
附錄H MIME字符集注冊錶
索引

精彩書摘

7.6.4 網狀緩存、內容路由以及對等緩存
有些網絡結構會構建復雜的網狀緩存(cache mesh),而不是簡單的緩存層次結構。網狀緩存中的代理緩存之間會以更加復雜的方式進行對話,做齣動態的緩存通信決策,決定與哪個父緩存進行對話,或者決定徹底繞開緩存,直接連接原始服務器。這種代理緩存會決定選擇何種路由對內容進行訪問、管理和傳送,因此可將其稱為內容路由器(content router)。
網狀緩存中為內容路由設計的緩存(除瞭其他任務之外)要完成下列所有功能。
根據URL在父緩存或原始服務器之間進行動態選擇。
根據URL動態地選擇一個特定的父緩存。
前往父緩存之前,在本地緩存中搜索已緩存的副本。
允許其他緩存對其緩存的部分內容進行訪問,但不允許因特網流量通過它們的緩存。
緩存之間這些更為復雜的關係允許不同的組織互為對等(peer)實體,將它們的緩存連接起來以實現共贏。提供可選的對等支持的緩存被稱為兄弟緩存(siblingcache)(參見圖7—10)。HTTP並不支持兄弟緩存,所以人們通過一些協議對HTTP進行瞭擴展,比如因特網緩存協議(Internet Cache Protocol,ICP)和超文本緩存協議(HyperText Caching Protocol,HTCP)。我們將在第20章討論這些協議。
7.7緩存的處理步驟
現代的商業化代理緩存相當地復雜。這些緩存構建得非常高效,可以支持HTTP和其他一些技術的各種高級特性。但除瞭一些微妙的細節之外,Web緩存的基本工作原理大多很簡單。對一條HTTP GET報文的基本緩存處理過程包括7個步驟(參見圖7—11)。
(1)接收——緩存從網絡中讀取抵達的請求報文。
(2)解析——緩存對報文進行解析,提取齣URL和各種首部。
(3)查詢——緩存查看是否有本地副本可用,如果沒有,就獲取一份副本(並將其保存在本地)。
(4)新鮮度檢測——緩存查看已緩存副本是否足夠新鮮,如果不是,就詢問服務器是否有任何更新。
(5)創建響應——緩存會用新的首部和已緩存的主體來構建一條響應報文。
(6)發送——緩存通過網絡將響應發迴給客戶端。
(7)日誌——緩存可選地創建一個日誌文件條目來描述這個事務。

前言/序言


《跨越字節的橋梁:深入理解互聯網通信協議》 內容簡介 這是一部專為網絡技術愛好者、開發者、係統管理員以及任何渴望深入瞭解互聯網運作機製的讀者量身打造的深度解析之作。本書將帶領您告彆對“點一下,就加載”的錶麵認知,深入互聯網最核心的通信規則——那些在幕後默默工作、連接全球無數設備的協議。我們不討論特定的應用程序開發框架,不糾結於某個語言的語法細節,而是將目光聚焦在那些支撐起整個數字世界基石的底層通信原理。 想象一下,您在瀏覽器中輸入一個網址,迴車,瞬間頁麵內容便展現在眼前。這個看似簡單的過程,背後卻是一係列復雜而精妙的協議在協同工作。本書將逐一剖析這些協議的演進、設計哲學、關鍵組成部分以及它們在現代互聯網中扮演的角色。我們將從最基礎的網絡層協議說起,理解數據如何在物理網絡中傳輸,然後逐步嚮上,深入到傳輸層,探究可靠、高效的數據交換是如何實現的。最後,我們將聚焦於應用層,揭示那些我們日常接觸的互聯網服務,如網頁瀏覽、文件傳輸、郵件收發等,是如何通過一套標準化的語言進行交流的。 第一部分:網絡通信的基石——數據如何在網絡中“行走”? IP協議(Internet Protocol):路由與尋址的藝術。 我們將深入探討IP協議的兩種主要版本:IPv4和IPv6。您將理解IP地址的作用,為什麼它們如此重要,以及它們是如何被分配和管理的。本書會詳細解析IP數據包的結構,包括源IP地址、目的IP地址、TTL(生存時間)等字段的意義。更重要的是,我們將揭示IP協議如何與路由協議協同工作,將數據包從源頭準確無誤地送達目的地。您將瞭解路由器在其中扮演的角色,以及它們如何根據路由錶做齣決策,找到最佳的傳輸路徑。我們還將觸及NAT(網絡地址轉換)技術,理解它在解決IPv4地址枯竭問題中的作用,以及它對網絡通信可能帶來的影響。 MAC地址:物理世界的“身份證”。 在IP地址之上,還有一層更貼近硬件的地址——MAC地址。我們將解釋MAC地址的唯一性,以及它如何在局域網內進行設備標識和通信。理解MAC地址與IP地址的配閤,是理解數據鏈路層工作原理的關鍵。 第二部分:保障數據可靠與高效——從“盡力而為”到“精確送達” TCP協議(Transmission Control Protocol):連接的建立、數據的傳輸與錯誤的恢復。 TCP是互聯網上最重要的傳輸層協議之一。本書將詳細講解TCP三次握閤與四次揮情的連接建立與斷開過程,理解為什麼需要這樣的機製來確保通信雙方的同步。您將深入理解TCP的流量控製機製,如滑動窗口,它如何有效地利用網絡帶寬,避免發送方淹沒接收方。同時,我們將揭示TCP的擁塞控製機製,它如何在網絡擁堵時動態調整發送速率,維持網絡的穩定性。此外,TCP如何通過序列號、確認應答(ACK)以及重傳機製來保證數據的可靠傳輸,即使在不可靠的網絡環境中也能實現“精確送達”,這些細節都將在本書中得到詳盡闡釋。 UDP協議(User Datagram Protocol):速度與簡潔的權衡。 與TCP的嚴謹不同,UDP是一種“盡力而為”的協議。本書將解釋UDP的應用場景,例如實時音視頻通信、在綫遊戲等對時效性要求極高而對少量丟包容忍度較高的場景。我們將分析UDP數據報的結構,以及它為何能夠實現更低的延遲。通過與TCP的對比,您將更深刻地理解不同傳輸層協議的設計哲學以及它們各自的優缺點。 第三部分:連接世界的語言——應用層協議的萬花筒 HTTP協議(Hypertext Transfer Protocol):揭秘萬維網的通信規則。 作為本書的核心之一,我們將深入剖析HTTP協議的方方麵麵。您將理解HTTP的版本演進,從HTTP/1.0到HTTP/2,再到HTTP/3,以及每個版本帶來的性能提升和功能改進。本書將詳細解析HTTP請求和響應的組成部分,包括請求方法(GET, POST, PUT, DELETE等)、狀態碼(200 OK, 404 Not Found, 500 Internal Server Error等)以及請求頭和響應頭中的關鍵字段(如Content-Type, Cache-Control, User-Agent等)。您將瞭解HTTP如何在客戶端(瀏覽器)和服務器之間進行交互,如何傳遞網頁內容、圖片、腳本等資源。此外,我們還會探討HTTP的長連接、管道化、頭部壓縮等技術,以及HTTPS(HTTP over TLS/SSL)如何在傳輸過程中提供安全保障。 DNS協議(Domain Name System):將域名翻譯成IP地址的“電話簿”。 我們如何從一串易於記憶的域名(如www.example.com)轉換成機器能夠理解的IP地址?本書將為您揭示DNS的層級結構、域名解析的查詢過程,以及DNS緩存的作用。您將瞭解權威DNS服務器、遞歸DNS服務器等概念,以及DNS記錄(A記錄, CNAME記錄, MX記錄等)的含義。 SMTP, POP3, IMAP協議:郵件係統的通信奧秘。 電子郵件是我們日常交流的重要工具。本書將解析SMTP(簡單郵件傳輸協議)如何將郵件發送到服務器,以及POP3(郵局協議)和IMAP(互聯網消息訪問協議)如何幫助客戶端從服務器接收郵件。您將理解它們在郵件收發流程中的不同職責和工作方式。 FTP協議(File Transfer Protocol):傳統的文件傳輸方式。 盡管在現代Web開發中可能不如HTTP常見,FTP仍然是許多場景下的重要文件傳輸協議。本書將介紹FTP的控製連接和數據連接,以及主動模式和被動模式的差異。 本書的價值與讀者收獲 通過閱讀《跨越字節的橋梁:深入理解互聯網通信協議》,您將獲得: 對互聯網運作機製的深刻洞察: 告彆“黑盒”思維,真正理解數據如何在網絡中流動,以及各個協議如何協同工作。 解決網絡問題的理論基礎: 具備分析和診斷網絡故障的能力,能夠理解為什麼會齣現連接慢、丟包、訪問受限等問題。 更高效的開發實踐: 理解協議的限製和優勢,能夠設計齣更符閤網絡特性的應用程序,優化性能。 對網絡安全有更深的理解: 瞭解HTTP與HTTPS的區彆,理解數據在傳輸過程中可能存在的風險。 紮實的理論根基,為未來技術學習打下堅實基礎: 無論您未來選擇前端、後端、移動開發,還是網絡安全、運維等方嚮,對網絡協議的理解都將是您寶貴的財富。 本書力求以清晰的邏輯、詳實的解釋和嚴謹的論證,帶領讀者穿越抽象的網絡協議,抵達對互聯網通信的真正理解。我們不迴避技術細節,但始終以清晰易懂的方式呈現,確保每一位讀者都能循序漸進,最終掌握互聯網通信的精髓。這是一次關於技術原理的探索之旅,一次關於連接世界的深度解讀。

用戶評價

評分

這本書的書名起得真是太貼切瞭,拿到《HTTP權威指南》的時候,我最大的感受就是“終於有人把HTTP講明白瞭”。作為一個非技術背景齣身,但又對互聯網運作原理充滿好奇的讀者,我之前接觸到的關於HTTP的信息大多是碎片化的,而且充斥著各種技術術語,讓人望而卻步。但這本書,簡直就是為我這樣的讀者量身定做的。它從最基礎的概念講起,循序漸進,用一種非常通俗易懂的語言,解釋瞭HTTP協議的來龍去脈,以及它在我們每天上網衝浪的過程中扮演的角色。我特彆喜歡它在解釋各種HTTP報文結構的時候,不僅僅是列齣字段,而是會告訴你這個字段的齣現是為瞭解決什麼問題,在什麼場景下會用到,甚至還提到瞭它可能被濫用的情況。比如,關於Cookie的講解,它就詳細闡述瞭Cookie的作用、生命周期,以及在安全方麵的注意事項,這讓我之前對Cookie的一些模糊認識變得清晰起來。這本書讓我不再覺得HTTP是一個遙不可及的黑盒子,而是變成瞭一個可以理解、可以掌控的工具。

評分

坦白說,《HTTP權威指南》這本書,完全超齣瞭我的預期。我一直以為,HTTP協議這種東西,對於大多數開發者來說,是屬於“瞭解即可”的範疇,隻要能正常開發就行。但這本書,卻讓我意識到瞭,對HTTP的深入理解,纔是真正提升Web開發水平的關鍵。它不僅僅是講解協議本身,更是將協議的各個方麵與實際的Web開發場景緊密結閤。我非常欣賞它對於HTTP性能優化的詳盡闡述,比如如何通過閤理的緩存策略、連接復用、負載均衡等手段來提升網站的響應速度和用戶體驗。書中列舉的很多優化技巧,都是我之前從未想過或者沒有深入研究過的。而且,這本書的結構設計也非常閤理,從基礎概念到高級應用,層層遞進,讓我能夠逐步掌握HTTP協議的精髓。最讓我驚喜的是,書中還包含瞭一些關於HTTP協議未來發展趨勢的探討,讓我能夠對Web技術的未來有一個更前瞻性的認識。總而言之,這是一本真正能夠幫助我提升技能、開闊視野的書籍。

評分

說實話,拿到《HTTP權威指南》這本書之前,我對HTTP的理解基本上就是“瀏覽器和服務器之間傳數據用的”。我承認,這可能是最粗淺的一種理解方式瞭。但這本書,讓我看到瞭HTTP協議背後隱藏的巨大能量和精妙設計。它不僅僅是關於傳輸數據,更是關於如何高效、安全、可靠地進行信息交換。我被它對HTTP/2和HTTP/3的深入探討所吸引,這些新協議帶來的性能提升和新的通信模式,簡直是顛覆性的。書裏對多路復用、服務器推送等概念的解釋,讓我眼前一亮,也為我理解現代Web應用的性能優化提供瞭新的思路。而且,這本書的嚴謹性也讓我非常佩服,對於每一個技術點,都引用瞭相關的RFC文檔,並且給齣瞭詳細的解釋,這對於想要深入研究協議細節的讀者來說,無疑是極大的幫助。雖然有些部分的技術深度很高,但通過作者的耐心講解和大量圖示,我還是能夠逐步理解。這本書,絕對是我技術書架上不可或缺的一本。

評分

我一直覺得,很多互聯網産品的體驗好壞,很大程度上取決於底層協議的實現是否紮實。而HTTP,作為Web通信的基石,其重要性不言而喻。我拿到《HTTP權威指南》這本書的時候,其實是帶著點“學習標準”的心態去的,想著把書裏的每個 RFC 都啃下來。但驚喜的是,這本書的寫作風格非常接地氣,完全沒有那種冰冷的技術文檔感。它通過大量的實際案例,把抽象的協議概念具象化,讓我能清楚地看到HTTP在現實世界中是如何運作的,以及它可能齣現的各種“坑”。我印象特彆深刻的是它關於安全方麵的章節,詳細講解瞭HTTPS的工作原理,從TLS/SSL的握手過程到證書的驗證,條理清晰,而且還提到瞭很多常見的安全漏洞和防護措施。這對於我這樣一個需要關注産品安全性的開發者來說,無疑是雪中送炭。書中的配圖和流程圖也幫瞭大忙,讓那些復雜的概念變得易於理解。我發現,很多睏擾我很久的網絡傳輸效率問題,追根溯源都和HTTP的某些細節處理有關。這本書就像一把鑰匙,打開瞭理解Web性能優化的新大門。

評分

這次拿到《HTTP權威指南》這本書,真的是我近期最驚喜的閱讀體驗瞭。作為一個長期從事Web開發的技術人員,我對HTTP協議的理解一直停留在“夠用就好”的階段,總覺得那些細節跟日常工作關聯不大。但這本書,真的把我之前所有的認知都顛覆瞭。它不是那種枯燥乏味的協議規範堆砌,而是像一位經驗豐富的老友,娓娓道來HTTP協議的每一個細節,從最初的起源,到各個版本的演進,再到那些常常被我們忽略的請求頭、響應頭背後的故事。我特彆喜歡它對於各種狀態碼的解釋,不僅僅是列齣數字和含義,而是深入剖析瞭它們在實際場景中可能引發的各種問題,以及如何巧妙地利用它們來優化用戶體驗和係統性能。舉個例子,之前我總是對301和302重定嚮傻傻分不清,看完書裏生動的比喻和詳細的解釋,立刻就豁然開朗瞭。而且,它對緩存機製的講解也讓我大開眼界,以前隻知道有緩存,但不知道怎麼配置,如何控製緩存的失效,看完之後,我感覺我編寫的代碼在緩存方麵的錶現可以提升好幾個檔次。總之,這本書的價值遠超我對一本技術書籍的期待,它讓我重新認識瞭HTTP,也讓我對Web底層有瞭更深刻的理解,後續的工作會更加得心應手。

評分

不錯,講的很詳細,要寫網絡爬蟲,補補知識

評分

書不錯,給同學買的,同學覺得挺好的。學習中

評分

老公需要買的,評價不錯~

評分

可以可以可以可以可以可以

評分

書的包裝好,紙質硬的,正版書,比其他平颱買的好多瞭

評分

同事說可以,必須點贊,非常好。必須點贊,非常好。

評分

初學者值得一看,淺顯易懂!

評分

準備好好學習網絡這塊

評分

可以可以可以可以可以可以可以可以可以可以可以可以可以可以

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有