W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
172張圖解輕松入門;
從基礎(chǔ)知識(shí)到全新動(dòng)向,一本書掌握HTTP協(xié)議;
Web前端開發(fā)者必備,從基礎(chǔ)知識(shí)到全新動(dòng)向一網(wǎng)打盡。
《圖靈程序設(shè)計(jì)叢書:圖解HTTP》對(duì)互聯(lián)網(wǎng)基盤——HTTP協(xié)議進(jìn)行了全面系統(tǒng)的介紹。作者由HTTP協(xié)議的發(fā)展歷史娓娓道來,嚴(yán)謹(jǐn)細(xì)致地剖析了HTTP協(xié)議的結(jié)構(gòu),列舉諸多常見通信場景及實(shí)戰(zhàn)案例,最后延伸到Web安全、全新技術(shù)動(dòng)向等方面?!秷D解HTTP》的特色為在講解的同時(shí),輔以大量生動(dòng)形象的通信圖例,更好地幫助讀者深刻理解HTTP通信過程中客戶端與服務(wù)器之間的交互情況。讀者可通過《圖靈程序設(shè)計(jì)叢書:圖解HTTP》快速了解并掌握HTTP協(xié)議的基礎(chǔ),前端工程師分析抓包數(shù)據(jù),后端工程師實(shí)現(xiàn)REST API、實(shí)現(xiàn)自己的HTTP服務(wù)器等過程中所需的HTTP相關(guān)知識(shí)點(diǎn)本書均有介紹?! 秷D靈程序設(shè)計(jì)叢書:圖解HTTP》適合Web開發(fā)工程師,以及對(duì)HTTP協(xié)議感興趣的各層次讀者。
上野·宣 ,OWASP 日本分會(huì)會(huì)長,TRICORDER株式會(huì)社董事長?! ≈饕獜氖掳踩稍儭L(fēng)險(xiǎn)評(píng)估、信息安全教育等工作。著有《今晚我們一起學(xué)習(xí)郵件協(xié)議》(今夜わかるメールプロトコル)、《今晚我們一起學(xué)習(xí)TCP/IP》(今夜わかるTCP/IP)、《今晚我們一起學(xué)習(xí)HTTP》(今夜わかるHTTP)。擔(dān)任The Tangled Web:A Guide to Securing Modern Web Application日文版的審校工作?! ∮诰迹ㄗg者),上海交通大學(xué)碩士,高級(jí)軟件工程師,馬拉松跑者,四點(diǎn)網(wǎng)創(chuàng)始人。
第1章 了解Web及網(wǎng)絡(luò)基礎(chǔ)
1.1 使用HTTP協(xié)議訪問Web
1.2 HTTP的誕生
1.2.1 為知識(shí)共享而規(guī)劃Web
1.2.2 Web成長時(shí)代
1.2.3 駐足不前的HTTP
1.3 網(wǎng)絡(luò)基礎(chǔ)TCP/IP
1.3.1 TCP/IP協(xié)議族
1.3.2 TCP/IP的分層管理
1.3.3 TCP/IP通信傳輸流
1.4 與HTTP關(guān)系密切的協(xié)議:IP、TCP和DNS
1.4.1 負(fù)責(zé)傳輸?shù)腎P協(xié)議
1.4.2 確??煽啃缘腡CP協(xié)議
1.5 負(fù)責(zé)域名解析的DNS服務(wù)
1.6 各種協(xié)議與HTTP協(xié)議的關(guān)系
1.7 URI和URL
1.7.1 統(tǒng)一資源標(biāo)識(shí)符
1.7.2 URI格式
第2章 簡單的HTTP協(xié)議
2.1 HTTP協(xié)議用于客戶端和服務(wù)器端之間的通信
2.2 通過請(qǐng)求和響應(yīng)的交換達(dá)成通信
2.3 HTTP是不保存狀態(tài)的協(xié)議
2.4 請(qǐng)求URI定位資源
2.5 告知服務(wù)器意圖的HTTP方法
2.6 使用方法下達(dá)命令
2.7 持久連接節(jié)省通信量
2.7.1 持久連接
2.7.2 管線化
2.8 使用Cookie的狀態(tài)管理
第3章 HTTP報(bào)文內(nèi)的HTTP信息
3.1 HTTP報(bào)文
3.2 請(qǐng)求報(bào)文及響應(yīng)報(bào)文的結(jié)構(gòu)
3.3 編碼提升傳輸速率
3.3.1 報(bào)文主體和實(shí)體主體的差異
3.3.2 壓縮傳輸?shù)膬?nèi)容編碼
3.3.3 分割發(fā)送的分塊傳輸編碼
3.4 發(fā)送多種數(shù)據(jù)的多部分對(duì)象集合
3.5 獲取部分內(nèi)容的范圍請(qǐng)求
3.6 內(nèi)容協(xié)商返回最合適的內(nèi)容
第4章 返回結(jié)果的HTTP狀態(tài)碼
4.1 狀態(tài)碼告知從服務(wù)器端返回的請(qǐng)求結(jié)果
4.2 2XX成功
4.2.1 200 OK
4.2.2 204 No Content
4.2.3 206 Partial Content
4.3 3XX重定向
4.3.1 301 Moved Permanently
4.3.2 302 Found
4.3.3 303 See Other
4.3.4 304 Not Modified
4.3.5 307 Temporary Redirect
4.4 4XX客戶端錯(cuò)誤
4.4.1 400 Bad Request
4.4.2 401 Unauthorized
4.4.3 403 Forbidden
4.4.4 404 Not Found
4.5 5XX服務(wù)器錯(cuò)誤
4.5.1 500 Internal Server Error
4.5.2 503 Service Unavailable
第5章 與HTTP協(xié)作的Web服務(wù)器
5.1 用單臺(tái)虛擬主機(jī)實(shí)現(xiàn)多個(gè)域名
5.2 通信數(shù)據(jù)轉(zhuǎn)發(fā)程序:代理、網(wǎng)關(guān)、隧道
5.2.1 代理
5.2.2 網(wǎng)關(guān)
5.2.3 隧道
5.3 保存資源的緩存
5.3.1 緩存的有效期限
5.3.2 客戶端的緩存
第6章 HTTP首部
6.1 HTTP報(bào)文首部
6.2 HTTP首部字段
6.2.1 HTTP首部字段傳遞重要信息
6.2.2 HTTP首部字段結(jié)構(gòu)
6.2.3 4種HTTP首部字段類型
6.2.4 HTTP/1.1首部字段一覽
6.2.5 非HTTP/1.1首部字段
6.2.6 End-to-end首部和Hop-by-hop首部
6.3 HTTP/1.1通用首部字段
6.3.1 Cache-Control
6.3.2 Connection
6.3.3 Date
6.3.4 Pragma
6.3.5 Trailer
6.3.6 Transfer-Encoding
6.3.7 Upgrade
6.3.8 Via
6.3.9 Warning
6.4 請(qǐng)求首部字段
6.4.1 Accept
6.4.2 Accept-Charset
6.4.3 Accept-Encoding
6.4.4 Accept-Language
6.4.5 Authorization
6.4.6 Expect
6.4.7 From
6.4.8 Host
6.4.9 If-Match
6.4.10 If-Modified-Since
6.4.11 If-None-Match
6.4.12 If-Range
6.4.13 If-Unmodified-Since
6.4.14 Max-Forwards
6.4.15 Proxy-Authorization
6.4.16 Range
6.4.17 Referer
6.4.18 TE
6.4.19 User-Agent
6.5 響應(yīng)首部字段
6.5.1 Accept-Ranges
6.5.2 Age
6.5.3 ETag
6.5.4 Location
6.5.5 Proxy-Authenticate
6.5.6 Retry-After
6.5.7 Server
6.5.8 Vary
6.5.9 WWW-Authenticate
6.6 實(shí)體首部字段
6.6.1 Allow
6.6.2 Content-Encoding
6.6.3 Content-Language
6.6.4 Content-Length
6.6.5 Content-Location
6.6.6 Content-MD
6.6.7 Content-Range
6.6.8 Content-Type
6.6.9 Expires
6.6.10 Last-Modified
6.7 為Cookie服務(wù)的首部字段
6.7.1 Set-Cookie
6.7.2 Cookie
6.8 其他首部字段
6.8.1 X-Frame-Options
6.8.2 X-XSS-Protection
6.8.3 DNT
6.8.4 P3P
第7章 確保Web安全的HTTPS
7.1 HTTP的缺點(diǎn)
7.1.1 通信使用明文可能會(huì)被竊聽
7.1.2 不驗(yàn)證通信方的身份就可能遭遇偽裝
7.1.3 無法證明報(bào)文完整性,可能已遭篡改
7.2 HTTP+加密+認(rèn)證+完整性保護(hù)=HTTPS
7.2.1 HTTP加上加密處理和認(rèn)證以及完整性保護(hù)后即是HTTPS
7.2.2 HTTPS是身披SSL外殼的HTTP
7.2.3 相互交換密鑰的公開密鑰加密技術(shù)
7.2.4 證明公開密鑰正確性的證書
7.2.5 HTTPS的安全通信機(jī)制
第8章 確認(rèn)訪問用戶身份的認(rèn)證
8.1 何為認(rèn)證
8.2 BASIC認(rèn)證
8.3 DIGEST認(rèn)證
8.4 SSL客戶端認(rèn)證
8.4.1 SSL客戶端認(rèn)證的認(rèn)證步驟
8.4.2 SSL客戶端認(rèn)證采用雙因素認(rèn)證
8.4.3 SSL客戶端認(rèn)證必要的費(fèi)用
8.5 基于表單認(rèn)證
8.5.1 認(rèn)證多半為基于表單認(rèn)證
8.5.2 Session管理及Cookie應(yīng)用
第9章 基于HTTP的功能追加協(xié)議
9.1 基于HTTP的協(xié)議
9.2 消除HTTP瓶頸的SPDY
9.2.1 HTTP的瓶頸
9.2.2 SPDY的設(shè)計(jì)與功能
9.2.3 SPDY消除Web瓶頸了嗎
9.3 使用瀏覽器進(jìn)行全雙工通信的WebSocket
9.3.1 WebSocket的設(shè)計(jì)與功能
9.3.2 WebSocket協(xié)議
9.4 期盼已久的HTTP/2.
9.5 Web服務(wù)器管理文件的WebDAV
9.5.1 擴(kuò)展HTTP/1.1的WebDAV
9.5.2 WebDAV內(nèi)新增的方法及狀態(tài)碼
第10章 構(gòu)建Web內(nèi)容的技術(shù)
10.1 HTML
10.1.1 Web頁面幾乎全由HTML構(gòu)建
10.1.2 HTML的版本
10.1.3 設(shè)計(jì)應(yīng)用CSS
10.2 動(dòng)態(tài)HTML
10.2.1 讓W(xué)eb頁面動(dòng)起來的動(dòng)態(tài)HTML
10.2.2 更易控制HTML的DOM
10.3 Web應(yīng)用
10.3.1 通過Web提供功能的Web應(yīng)用
10.3.2 與Web服務(wù)器及程序協(xié)作的CGI
10.3.3 因Java而普及的Servlet
10.4 數(shù)據(jù)發(fā)布的格式及語言
10.4.1 可擴(kuò)展標(biāo)記語言
10.4.2 發(fā)布更新信息的RSS/Atom
10.4.3 JavaScript衍生的輕量級(jí)易用JSON
第11章 Web的攻擊技術(shù)
11.1 針對(duì)Web的攻擊技術(shù)
11.1.1 HTTP不具備必要的安全功能
11.1.2 在客戶端即可篡改請(qǐng)求
11.1.3 針對(duì)Web應(yīng)用的攻擊模式
11.2 因輸出值轉(zhuǎn)義不完全引發(fā)的安全漏洞
11.2.1 跨站腳本攻擊
11.2.2 SQL注入攻擊
11.2.3 OS命令注入攻擊
11.2.4 HTTP首部注入攻擊
11.2.5 郵件首部注入攻擊
11.2.6 目錄遍歷攻擊
11.2.7 遠(yuǎn)程文件包含漏洞
11.3 因設(shè)置或設(shè)計(jì)上的缺陷引發(fā)的安全漏洞
11.3.1 強(qiáng)制瀏覽
11.3.2 不正確的錯(cuò)誤消息處理
11.3.3 開放重定向
11.4 因會(huì)話管理疏忽引發(fā)的安全漏洞
11.4.1 會(huì)話劫持
11.4.2 會(huì)話固定攻擊
11.4.3 跨站點(diǎn)請(qǐng)求偽造
11.5 其他安全漏洞
11.5.1 密碼破解
11.5.2 點(diǎn)擊劫持
11.5.3 DoS攻擊
11.5.4 后門程序
本書的上一版是2004 年出版的《今夜ワカルHTTP》(中文譯名: 今晚我們一起學(xué)習(xí)HTTP,翔泳社)。和當(dāng)時(shí)一樣,現(xiàn)在互聯(lián)網(wǎng)的主流 仍是Web,但人們對(duì)Web 的要求卻不斷地發(fā)生變化。Google 在2005 年 推出了地圖服務(wù)Google Maps,很多人看到這一Web 應(yīng)用程序的界面后 感到十分震驚。因?yàn)樵诖酥?,我們只能借助桌面?yīng)用程序或Flash 等 方式,實(shí)現(xiàn)流暢滾動(dòng)及視角放大縮小等功能,如今這些功能僅需一個(gè) Web 瀏覽器就能呈現(xiàn)了。也許正是由于Google Maps 的出現(xiàn),人們對(duì) Web 的要求才開始變得多了起來。發(fā)送請(qǐng)求、等待響應(yīng),這些HTTP 中 稀松平常的功能已經(jīng)無法滿足人們的需求了。于是,Web 不再停留在 HTTP/1.1 版本,在保持HTTP 簡潔的同時(shí),也開始開發(fā)新的功能。我 之所以要撰寫《今夜ワカルHTTP》一書,是因?yàn)槲野l(fā)現(xiàn)多數(shù)Web 應(yīng)用 程序開發(fā)者并不了解支撐Web 基礎(chǔ)的HTTP 協(xié)議。我堅(jiān)信通過學(xué)習(xí)協(xié) 議,大家能更深刻地理解Web 開發(fā)。即使是在本書撰寫完成后的今天, 我的這一想法仍未改變,肯定還有很多開發(fā)者尚未了解HTTP 協(xié)議。
對(duì)HTTP 協(xié)議有了更深入的理解后,也許你會(huì)從中得到一些啟發(fā)。 不再囿于HTTP/1.1 版本的制約,你也能開發(fā)出Google Maps 那樣的應(yīng) 用程序。
本書不僅面向Web 應(yīng)用程序的開發(fā)者,還面向使用Web 的軟件開 發(fā)者、Web 風(fēng)險(xiǎn)評(píng)估的安全工程師、前端工程師以及Web 使用者等與 Web 相關(guān)的所有讀者,希望這本書能對(duì)大家有所幫助。
寫于華盛頓DC 的酒店
2013 年1 月吉日
TRICORDER株式會(huì)社 上野宣
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: