目錄
第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
· · · · · · (
收起)