出版信息
作者:[日] 上野宣
出版社: 人民郵電出版社
譯者: 於均良
出版年: 2014-4-15
頁數: 308
定價: 49.00元
裝幀: 平裝
叢書:圖解入門系列
ISBN: 9787115351531
內容簡介
本書對網際網路基盤——HTTP協定進行了全面系統的介紹。作者由HTTP協定的發展歷史娓娓道來,嚴謹細緻地剖析了HTTP協定的結構,列舉諸多常見通信場景及實戰案例,最後延伸到Web安全、最新技術動向等方面。本書的特色為在講解的同時,輔以大量生動形象的通信圖例,更好地幫助讀者深刻理解HTTP通信過程中客戶端與伺服器之間的互動情況。讀者可通過本書快速了解並掌握HTTP協定的基礎,前端工程師分析抓包數據,後端工程師實現REST API、實現自己的HTTP伺服器等過程中所需的HTTP相關知識點本書均有介紹。
作者簡介
上野 宣,OWASP 日本分會會長,TRICORDER株式會社董事長。
主要從事安全諮詢、風險評估、信息安全教育等工作。著有《今晚我們一起學習郵件協定》(今夜わかるメールプロトコル)、《今晚我們一起學習TCP/IP》(今夜わかるTCP/IP)、《今晚我們一起學習HTTP》(今夜わかるHTTP)。擔任The Tangled Web:A Guide to Securing Modern Web Application日文版的審校工作。
目錄
目錄
第1章 了解Web及網路基礎 001
1.1 使用HTTP協定訪問Web 002
1.2 HTTP的誕生003
1.2.1 為知識共享而規劃Web 003
1.2.2 Web成長時代 004
1.2.3 駐足不前的HTTP 005
1.3 網路基礎TCP/IP 006
1.3.1 TCP/IP協定族 006
1.3.2 TCP/IP的分層管理 007
1.3.3 TCP/IP通信傳輸流 009
1.4 與HTTP關係密切的協定:IP、TCP和DNS 010
1.4.1 負責傳輸的IP協定 011
1.4.2 確保可靠性的TCP協定 012
1.5 負責域名解析的DNS服務 013
1.6 各種協定與HTTP協定的關係 014
1.7 URI和URL 016
1.7.1 統一資源標識符 016
1.7.2 URI格式 017
第2章 簡單的HTTP協定 021
2.1 HTTP協定用於客戶端和伺服器端之間的通信 022
2.2 通過請求和回響的交換達成通信 022
2.3 HTTP是不保存狀態的協定 025
2.4 請求URI定位資源 026
2.5 告知伺服器意圖的HTTP 方法027
2.6 使用方法下達命令 033
2.7 持久連線節省通信量 034
2.7.1 持久連線 036
2.7.2 管線化 037
2.8 使用Cookie的狀態管理 037
第3章HTTP報文內的HTTP信息 041
3.1HTTP報文 042
3.2 請求報文及回響報文的結構 042
3.3 編碼提升傳輸速率 044
3.3.1 報文主體和實體主體的差異 044
3.3.2 壓縮傳輸的內容編碼 044
3.3.3 分割傳送的分塊傳輸編碼 045
3.4 傳送多種數據的多部分對象集合 046
3.5 獲取部分內容的範圍請求048
3.6 內容協商返回最合適的內容050
第4章 返回結果的HTTP狀態碼 053
4.1 狀態碼告知從伺服器端返回的請求結果054
4.2 2XX成功 055
4.2.1 200 OK 055
4.2.2 204 No Content 056
4.2.3 206 Partial Content 056
4.3 3XX 重定向 056
4.3.1 301 Moved Permanently 057
4.3.2 302 Found 057
4.3.3 303 See Other 058
4.3.4 304 Not Modified 059
4.3.5 307 Temporary Redirect 059
4.4 4XX 客戶端錯誤 060
4.4.1 400 Bad Request 060
4.4.2 401 Unauthorized 060
4.4.3 403 Forbidden 061
4.4.4 404 Not Found 061
4.5 5XX 伺服器錯誤 062
4.5.1 500 Internal Server Error 062
4.5.2 503 Service Unavailable 062
第5章 與HTTP協作的Web伺服器 065
5.1 用單台虛擬主機實現多個域名 066
5.2 通信數據轉發程式:代理、網關、隧道 067
5.2.1 代理 068
5.2.2 網關 070
5.2.3 隧道 070
5.3 保存資源的快取 071
5.3.1 快取的有效期限 072
5.3.2 客戶端的快取 072
第6章 HTTP 首部 075
6.1 HTTP 報文首部 076
6.2 HTTP 首部欄位 078
6.2.1 HTTP首部欄位傳遞重要信息 078
6.2.2 HTTP首部欄位結構 078
6.2.3 4種HTTP首部欄位類型 079
6.2.4 HTTP/1.1首部欄位一覽 080
6.2.5 非HTTP/1.1首部欄位 082
6.2.6 End-to-end首部和Hop-by-hop首部 083
6.3 HTTP/1.1 通用首部欄位 083
6.3.1 Cache-Control 084
6.3.2 Connection 091
6.3.3 Date 093
6.3.4 Pragma 094
6.3.5 Trailer 095
6.3.6 Transfer-Encoding 096
6.3.7 Upgrade 097
6.3.8 Via 098
6.3.9 Warning 099
6.4 請求首部欄位 100
6.4.1 Accept 101
6.4.2 Accept-Charset 102
6.4.3 Accept-Encoding 103
6.4.4 Accept-Language 104
6.4.5 Authorization 105
6.4.6 Expect 106
6.4.7 From 107
6.4.8 Host 107
6.4.9 If-Match 108
6.4.10 If-Modified-Since 110
6.4.11 If-None-Match 111
6.4.12 If-Range 112
6.4.13 If-Unmodified-Since 113
6.4.14 Max-Forwards 114
6.4.15 Proxy-Authorization 115
6.4.16 Range 116
6.4.17 Referer 116
6.4.18 TE 117
6.4.19 User-Agent 118
6.5 回響首部欄位119
6.5.1 Accept-Ranges 119
6.5.2 Age 120
6.5.3 ETag 120
6.5.4 Location 122
6.5.5 Proxy-Authenticate 123
6.5.6 Retry-After 123
6.5.7 Server 124
6.5.8 Vary 125
6.5.9 WWW-Authenticate 125
6.6 實體首部欄位126
6.6.1 Allow 126
6.6.2 Content-Encoding 127
6.6.3 Content-Language 128
6.6.4 Content-Length 128
6.6.5 Content-Location 129
6.6.6 Content-MD5 129
6.6.7 Content-Range 130
6.6.8 Content-Type 131
6.6.9 Expires 131
6.6.10 Last-Modified 132
6.7 為Cookie服務的首部欄位 132
6.7.1 Set-Cookie 134
6.7.2 Cookie 136
6.8 其他首部欄位137
6.8.1 X-Frame-Options 137
6.8.2 X-XSS-Protection 138
6.8.3 DNT 138
6.8.4 P3P 139
第7章 確保Web安全的HTTPS 141
7.1 HTTP的缺點 142
7.1.1 通信使用明文可能會被竊聽 142
7.1.2 不驗證通信方的身份就可能遭遇偽裝 146
7.1.3 無法證明報文完整性,可能已遭篡改 148
7.2 HTTP+加密+認證+完整性保護=HTTPS 150
7.2.1 HTTP加上加密處理和認證以及完整性保護後即是HTTPS 150
7.2.2 HTTPS是身披SSL外殼的HTTP 151
7.2.3 相互交換密鑰的公開密鑰加密技術 152
7.2.4 證明公開密鑰正確性的證書 155
7.2.5 HTTPS的安全通信機制 161
第8章 確認訪問用戶身份的認證 167
8.1 何為認證 168
8.2 BASIC 認證 169
8.3 DIGEST 認證171
8.4 SSL客戶端認證173
8.4.1 SSL客戶端認證的認證步驟 174
8.4.2 SSL客戶端認證採用雙因素認證 175
8.4.3 SSL客戶端認證必要的費用 175
8.5 基於表單認證 175
8.5.1 認證多半為基於表單認證 176
8.5.2 Session管理及Cookie套用 177
第9章 基於HTTP的功能追加協定 179
9.1 基於HTTP的協定180
9.2 消除HTTP瓶頸的SPDY 180
9.2.1 HTTP的瓶頸 180
9.2.2 SPDY的設計與功能 184
9.2.3 SPDY消除Web瓶頸了嗎 185
9.3 使用瀏覽器進行全雙工通信的WebSocket 186
9.3.1 WebSocket的設計與功能 186
9.3.2 WebSocket協定 186
9.4 期盼已久的HTTP/2.0 189
9.5 Web 伺服器管理檔案的WebDAV 190
9.5.1 擴展HTTP/1.1的WebDAV 191
9.5.2 WebDAV內新增的方法及狀態碼 192
第10章 構建Web內容的技術 195
10.1 HTML 196
10.1.1 Web頁面幾乎全由HTML構建 196
10.1.2 HTML的版本 197
10.1.3 設計套用CSS 198
10.2 動態HTML 198
10.2.1 讓Web頁面動起來的動態HTML 198
10.2.2 更易控制HTML 的DOM 198
10.3 Web套用 200
10.3.1 通過Web提供功能的Web套用 200
10.3.2 與Web伺服器及程式協作的CGI 200
10.3.3 因Java 而普及的Servlet 201
10.4 數據發布的格式及語言 203
10.4.1 可擴展標記語言 203
10.4.2 發布更新信息的RSS/Atom 204
10.4.3 JavaScript衍生的輕量級易用JSON 206
第11章 Web的攻擊技術 207
11.1 針對Web的攻擊技術 208
11.1.1 HTTP不具備必要的安全功能 208
11.1.2 在客戶端即可篡改請求 209
11.1.3 針對Web套用的攻擊模式 210
11.2 因輸出值轉義不完全引發的安全漏洞 212
11.2.1 跨站腳本攻擊 213
11.2.2 SQL注入攻擊 218
11.2.3 OS命令注入攻擊 223
11.2.4 HTTP首部注入攻擊 225
11.2.5 郵件首部注入攻擊 228
11.2.6 目錄遍歷攻擊 229
11.2.7 遠程檔案包含漏洞 230
11.3 因設定或設計上的缺陷引發的安全漏洞 232
11.3.1 強制瀏覽 232
11.3.2 不正確的錯誤訊息處理 234
11.3.3 開放重定向 237
11.4 因會話管理疏忽引發的安全漏洞 237
11.4.1 會話劫持 238
11.4.2 會話固定攻擊 239
11.4.3 跨站點請求偽造 241
11.5 其他安全漏洞 242
11.5.1 密碼破解 242
11.5.2 點擊劫持 247
11.5.3 DoS攻擊 249
11.5.4 後門程式 250
叢書信息
圖解入門系列 (共13冊), 這套叢書還有 《圖解機器學習》,《圖解性能最佳化》,《圖解基礎設施設計模式》,《圖解設計模式》,《圖解網站分析(修訂版)》等。