商品參數
| 圖解HTTP |
| | 定價 | 49.00 |
| 齣版社 | 人民郵電齣版社 |
| 齣版時間 | 2014年05月 |
| 開本 | 大32開 |
| 作者 | [日]上野宣,於均良 |
| 頁數 | 0 |
| ISBN編碼 | 9787115351531 |
內容介紹
《圖解HTTP》對互聯網基盤——HTTP協議進行瞭全麵係統的介紹。作者由HTTP協議的發展曆史娓娓道來,嚴謹細緻地剖析瞭HTTP協議的結構,列舉諸多常見通信場景及實戰案例,*後延伸到Web安全、*技術動嚮等方麵。《圖解HTTP》的特色為在講解的同時,輔以大量生動形象的通信圖例,更好地幫助讀者深刻理解HTTP通信過程中客戶端與服務器之間的交互情況。讀者可通過《圖解HTTP》快速瞭解並掌握HTTP協議的基礎,前端工程師分析抓包數據,後端工程師實現REST API、實現自己的HTTP服務器等過程中所需的HTTP相關知識點本書均有介紹。 《圖解HTTP》適閤Web開發工程師,以及對HTTP協議感興趣的各層次讀者。
作者介紹
作者介紹
作者簡介
上野 宣
OWASP 日本分會會長,TRICORDER株式會社董事長。
主要從事安全谘詢、風險評估、信息安全教育等工作。著有《今晚我們一起學習郵件協議》(今夜わかるメールプロトコル)、《今晚我們一起學習TCP/IP》(今夜わかるTCP/IP)、《今晚我們一起學習HTTP》(今夜わかるHTTP)。擔任The Tangled Web:A Guide to Securing Modern Web Application日文版的審校工作。
譯者簡介
於均良
上海交通大學碩士,高*軟件工程師,馬拉鬆跑者,四點網創始人。
關聯推薦
172張圖解輕鬆入門
從基礎知識到**動嚮,一本書掌握HTTP協議
Web前端開發*必*,從基礎知識到**動嚮一網打盡
本書前半部分由HTTP的成長發展史娓娓道來,基於HTTP 1.1 標準講解通信過程,包括HTTP方法、協議格式、報文結構、首部字段、狀態碼等的具體含義,還分彆講解HTTP通信過程中代理、網關、隧道等的作用。接著介紹SPDY、WebSocket、WebDAV等HTTP的擴展功能。作者還從細節方麵舉例,讓讀者更好地理解何為無狀態(stateless)、301和302重定嚮的區彆在哪、緩存機製,等等。本書後半部分的重心放在Web安全上,涵蓋HTTPS、SSL、證書認證、加密機製、Web攻擊手段等內容。
媒體評論
編輯推薦
172張圖解輕鬆入門
從基礎知識到動嚮,一本書掌握HTTP協議
Web前端開發*必*,從基礎知識到動嚮一網打盡
本書前半部分由HTTP的成長發展史娓娓道來,基於HTTP 1.1 標準講解通信過程,括HTTP方法、協議格式、報文結構、首部字段、狀態碼等的具體含義,還分彆講解HTTP通信過程中代理、網關、隧道等的作用。接著介紹SPDY、WebSocket、WebDAV等HTTP的擴展功能。作者還從細節方麵舉例,讓讀者更好地理解何為無狀態(stateless)、301和302重定嚮的區彆在哪、緩存機製,等等。本書後半部分的重心放在Web安全上,涵蓋HTTPS、SSL、證書認證、加密機製、Web攻擊手段等內容。
目錄
第1章 瞭解Web及網絡基礎 1.1 使用HTTP協議訪問Web 1.2 HTTP的誕生 1.2.1 為知識共享而規劃Web 1.2.2 Web成長時代 1.2.3 駐足不前的HTTP 1.3 網絡基礎TCP/IP 1.3.1 TCP/IP協議族 1.3.2 TCP/IP的分層管理 1.3.3 TCP/IP通信傳輸流 1.4 與HTTP關係密切的協議:IP、TCP和DNS 1.4.1 負責傳輸的IP協議 1.4.2 確保可靠性的TCP協議 1.5 負責域名解析的DNS服務 第1章 瞭解Web及網絡基礎
1.1 使用HTTP協議訪問Web
1.2 HTTP的誕生
1.2.1 為知識共享而規劃Web
1.2.2 Web成長時代
1.2.3 駐足不前的HTTP
1.3 網絡基礎TCP/IP
1.3.1 TCP/IP協議族
1.3.2 TCP/IP的分層管理
1.3.3 TCP/IP通信傳輸流
1.4 與HTTP關係密切的協議:IP、TCP和DNS
1.4.1 負責傳輸的IP協議
1.4.2 確保可靠性的TCP協議
1.5 負責域名解析的DNS服務
1.6 各種協議與HTTP協議的關係
1.7 URI和URL
1.7.1 統一資源標識符
1.7.2 URI格式
第2章 簡單的HTTP協議
2.1 HTTP協議用於客戶端和服務器端之間的通信
2.2 通過請求和響應的交換達成通信
2.3 HTTP是不保存狀態的協議
2.4 請求URI定位資源
2.5 告知服務器意圖的HTTP方法
2.6 使用方法下達命令
2.7 持久連接節省通信量
2.7.1 持久連接
2.7.2 管綫化
2.8 使用Cookie的狀態管理
第3章 HTTP報文內的HTTP信息
3.1 HTTP報文
3.2 請求報文及響應報文的結構
3.3 編碼提升傳輸速率
3.3.1 報文主體和實體主體的差異
3.3.2 壓縮傳輸的內容編碼
3.3.3 分割發送的分塊傳輸編碼
3.4 發送多種數據的多部分對象集閤
3.5 獲取部分內容的範圍請求
3.6 內容協商返迴*閤適的內容
第4章 返迴結果的HTTP狀態碼
4.1 狀態碼告知從服務器端返迴的請求結果
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客戶端錯誤
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服務器錯誤
4.5.1 500 Internal Server Error
4.5.2 503 Service Unavailable
第5章 與HTTP協作的Web服務器
5.1 用單颱虛擬主機實現多個域名
5.2 通信數據轉發程序:代理、網關、隧道
5.2.1 代理
5.2.2 網關
5.2.3 隧道
5.3 保存資源的緩存
5.3.1 緩存的有效期限
5.3.2 客戶端的緩存
第6章 HTTP首部
6.1 HTTP報文首部
6.2 HTTP首部字段
6.2.1 HTTP首部字段傳遞重要信息
6.2.2 HTTP首部字段結構
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 請求首部字段
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 響應首部字段
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 實體首部字段
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-MD5
6.6.7 Content-Range
6.6.8 Content-Type
6.6.9 Expires
6.6.10 Last-Modified
6.7 為Cookie服務的首部字段
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的缺點
7.1.1 通信使用明文可能會被竊聽
7.1.2 不驗證通信方的身份就可能遭遇僞裝
7.1.3 無法證明報文完整性,可能已遭篡改
7.2 HTTP 加密 認證 完整性保護=HTTPS
7.2.1 HTTP加上加密處理和認證以及完整性保護後即是HTTPS
7.2.2 HTTPS是身披SSL外殼的HTTP
7.2.3 相互交換密鑰的公開密鑰加密技術
7.2.4 證明公開密鑰正確性的證書
7.2.5 HTTPS的安全通信機製
第8章 確認訪問用戶身份的認證
8.1 何為認證
8.2 BASIC認證
8.3 DIGEST認證
8.4 SSL客戶端認證
8.4.1 SSL客戶端認證的認證步驟
8.4.2 SSL客戶端認證采用雙因素認證
8.4.3 SSL客戶端認證必要的費用
8.5 基於錶單認證
8.5.1 認證多半為基於錶單認證
8.5.2 Session管理及Cookie應用
第9章 基於HTTP的功能追加協議
9.1 基於HTTP的協議
9.2 消除HTTP瓶頸的SPDY
9.2.1 HTTP的瓶頸
9.2.2 SPDY的設計與功能
9.2.3 SPDY消除Web瓶頸瞭嗎
9.3 使用瀏覽器進行全雙工通信的WebSocket
9.3.1 WebSocket的設計與功能
9.3.2 WebSocket協議
9.4 期盼已久的HTTP/2.0
9.5 Web服務器管理文件的WebDAV
9.5.1 擴展HTTP/1.1的WebDAV
9.5.2 WebDAV內新增的方法及狀態碼
第10章 構建Web內容的技術
10.1 HTML
10.1.1 Web頁麵幾乎全由HTML構建
10.1.2 HTML的版本
10.1.3 設計應用CSS
10.2 動態HTML
10.2.1 讓Web頁麵動起來的動態HTML
10.2.2 更易控製HTML的DOM
10.3 Web應用
10.3.1 通過Web提供功能的Web應用
10.3.2 與Web服務器及程序協作的CGI
10.3.3 因Java而普及的Servlet
10.4 數據發布的格式及語言
10.4.1 可擴展標記語言
10.4.2 發布更新信息的RSS/Atom
10.4.3 衍生的輕量級易用JSON
第11章 Web的攻擊技術
11.1 針對Web的攻擊技術
11.1.1 HTTP不具備必要的安全功能
11.1.2 在客戶端即可篡改請求
11.1.3 針對Web應用的攻擊模式
11.2 因輸齣值轉義不完全引發的安全漏洞
11.2.1 跨站腳本攻擊
11.2.2 SQL注入攻擊
11.2.3 OS命令注入攻擊
11.2.4 HTTP首部注入攻擊
11.2.5 郵件首部注入攻擊
11.2.6 目錄遍曆攻擊
11.2.7 遠程文件包含漏洞
11.3 因設置或設計上的缺陷引發的安全漏洞
11.3.1 強製瀏覽
11.3.2 不正確的錯誤消息處理
11.3.3 開放重定嚮
11.4 因會話管理疏忽引發的安全漏洞
11.4.1 會話劫持
11.4.2 會話固定攻擊
11.4.3 跨站點請求僞造
11.5 其他安全漏洞
11.5.1 密碼破解
11.5.2 點擊劫持
11.5.3 DoS攻擊
11.5.4 後門程序
顯示全部信息
深入理解網絡基石:HTTP協議的奧秘與實踐 在這個信息爆炸的時代,互聯網已成為我們生活不可或缺的一部分。從瀏覽網頁到在綫購物,再到觀看視頻,這一切的背後都離不開高效、可靠的網絡通信。而HTTP(Hypertext Transfer Protocol),作為構建這個龐大網絡的基石,其重要性不言而喻。它不僅是Web前端開發人員必須掌握的核心技術,更是理解整個互聯網工作原理的關鍵。 本書將帶您踏上一段深入探究HTTP協議的旅程。不同於市麵上那些僅浮於錶麵的教程,本書將以圖文並茂、由淺入深的方式,帶領您全麵理解HTTP協議的方方麵麵。我們將不僅僅停留在“客戶端發送請求,服務器返迴響應”的簡單認知,而是深入剖析每一個環節,揭示其背後的精妙設計和運作機製。 為何需要深入理解HTTP? 對於Web前端開發而言,HTTP協議是構建用戶體驗的基石。理解HTTP的請求方法(GET, POST, PUT, DELETE等)、狀態碼(200 OK, 404 Not Found, 500 Internal Server Error等)、頭部信息(Content-Type, Cache-Control, Cookie等)以及傳輸的數據格式(HTML, JSON, XML等),能夠幫助開發者寫齣更高效、更安全、更友好的Web應用。例如,如何正確地使用POST請求提交錶單數據,如何利用緩存機製優化頁麵加載速度,如何通過Cookie管理用戶會話,這些都是前端開發中至關重要的技能,而這一切都建立在對HTTP協議的深刻理解之上。 對於後端開發人員,HTTP協議更是其工作的核心。理解HTTP的請求和響應流程,能夠幫助他們設計齣健壯的API接口,處理來自各種客戶端的請求,並確保數據的準確傳輸和安全。例如,如何設計 RESTful API,如何處理並發請求,如何防止CSRF攻擊,這些都直接與HTTP協議的理解深度相關。 即便您是一名係統管理員或運維工程師,對HTTP的理解同樣不可或缺。例如,配置Nginx、Apache等Web服務器時,需要瞭解HTTP請求的處理邏輯;優化服務器性能時,需要理解HTTP的連接管理、緩存策略;排查網絡故障時,需要分析HTTP流量,定位問題根源。 更廣泛地說,任何對互聯網運作原理感興趣的朋友,都能從本書中獲益。理解HTTP,就是理解信息如何在網絡上傳輸,理解Web是如何構建的,理解我們每天使用的各種在綫服務是如何工作的。 本書將帶您領略的精彩內容: 第一部分:HTTP基礎概念與發展曆程 什麼是HTTP? 我們將從最基礎的概念入手,解釋HTTP協議的定義、作用以及它在互聯網中的地位。 HTTP的發展演進: 從HTTP/1.0的簡單文本交換,到HTTP/1.1的持續連接和管道化,再到HTTP/2的二進製分幀和多路復用,以及新興的HTTP/3(基於QUIC協議),我們將迴顧HTTP協議的每一次重要升級,理解它們是如何解決之前版本存在的問題,並帶來性能和效率的提升。 URL、URI與URN: 區分這三個概念,理解它們在HTTP請求中的作用。 HTTP消息結構: 深入剖析HTTP請求和響應消息的組成部分,包括起始行、頭部字段和實體主體。 第二部分:HTTP請求詳解 請求方法(Methods): GET: 獲取資源,無副作用。我們將探討GET請求的適用場景,以及如何通過URL參數傳遞數據。 POST: 提交數據,通常用於創建或更新資源。我們將詳細介紹POST請求與GET請求的區彆,以及如何正確地使用POST提交錶單數據。 PUT: 更新資源,如果資源不存在則創建。 DELETE: 刪除資源。 HEAD: 隻獲取響應頭部,不獲取響應實體,常用於檢查資源是否存在或獲取元數據。 OPTIONS: 獲取服務器支持的HTTP方法。 TRACE: 進行請求響應鏈的測試。 CONNECT: 建立隧道,常用於HTTPS。 我們將通過大量的實例,展示不同請求方法的使用方式,以及在實際開發中應如何選擇閤適的請求方法。 請求頭部字段(Request Headers): User-Agent: 標識客戶端的瀏覽器和操作係統。 Accept: 告知服務器客戶端可以接受的媒體類型。 Accept-Encoding: 告知服務器客戶端可以理解的壓縮編碼。 Accept-Language: 告知服務器客戶端希望接收的語言。 Host: 指定請求的目標主機名和端口號。 Cookie: 客戶端發送存儲在本地的Cookie信息。 Referer: 告知服務器請求的來源頁麵。 Authorization: 包含身份驗證憑證。 Cache-Control: 控製緩存行為。 If-Modified-Since, If-None-Match: 條件請求,用於緩存驗證。 我們將深入解析這些常用頭部字段的含義、作用以及在實際開發中的應用,例如如何利用`Accept`字段實現內容協商,如何通過`Cookie`實現用戶登錄狀態的保持。 請求實體(Request Body): 介紹POST、PUT等方法中攜帶的請求數據,包括常見的MIME類型(如`application/x-www-form-urlencoded`, `multipart/form-data`, `application/json`)及其編碼方式。 第三部分:HTTP響應詳解 響應狀態碼(Status Codes): 1xx Informational: 請求正在處理,需要繼續。 2xx Success: 請求已成功處理。 200 OK: 請求成功。 201 Created: 資源已創建。 204 No Content: 請求成功,但響應體為空。 3xx Redirection: 需要進一步的操作以完成請求。 301 Moved Permanently: 資源永久移動。 302 Found (Moved Temporarily): 資源臨時移動。 304 Not Modified: 資源未被修改(用於緩存)。 4xx Client Error: 請求包含錯誤。 400 Bad Request: 請求語法錯誤。 401 Unauthorized: 未授權。 403 Forbidden: 禁止訪問。 404 Not Found: 資源未找到。 5xx Server Error: 服務器處理請求時齣錯。 500 Internal Server Error: 服務器內部錯誤。 503 Service Unavailable: 服務不可用。 我們將對這些狀態碼進行詳細的分類和解釋,並提供實際場景中的應用示例,幫助您快速定位和解決Web開發中遇到的常見錯誤。 響應頭部字段(Response Headers): Content-Type: 告知客戶端響應內容的媒體類型。 Content-Encoding: 告知客戶端響應內容使用的壓縮編碼。 Content-Length: 告知客戶端響應實體的長度。 Set-Cookie: 服務器在客戶端設置Cookie。 Cache-Control, Expires: 控製客戶端緩存。 Location: 指定重定嚮的目標URL。 Server: 標識服務器軟件。 Date: 響應生成的時間。 我們將深入解析這些頭部字段的作用,以及它們如何影響瀏覽器渲染、緩存策略和安全性。 響應實體(Response Body): 介紹服務器返迴給客戶端的數據,包括HTML、JSON、XML、圖片、視頻等多種格式。 第四部分:HTTP與Web安全 HTTPS: 深入講解HTTPS協議,包括SSL/TLS的工作原理,數字證書的作用,以及HTTPS如何保障通信的機密性、完整性和身份驗證。 同源策略(Same-Origin Policy): 理解同源策略對Web安全的重要性,以及如何處理跨域請求。 常見Web安全威脅與HTTP協議的關聯: XSS(Cross-Site Scripting): 如何通過HTTP協議的輸入輸齣進行防範。 CSRF(Cross-Site Request Forgery): 如何利用HTTP協議的特性進行防範。 SQL注入: HTTP請求中的數據如何被利用進行SQL注入。 第五部分:HTTP協議在實際場景中的應用 Web服務器(Nginx/Apache)與HTTP: 介紹Web服務器如何處理HTTP請求,配置虛擬主機,以及反嚮代理等功能。 RESTful API設計: 如何利用HTTP的請求方法和狀態碼來設計符閤RESTful原則的API。 HTTP與AJAX: 講解AJAX(Asynchronous JavaScript and XML)如何利用HTTP進行異步通信,實現動態網頁。 HTTP緩存策略優化: 詳細介紹如何配置HTTP頭部字段來優化瀏覽器緩存和CDN緩存,提升網站性能。 HTTP/2與HTTP/3的優勢與應用: 探討新一代HTTP協議帶來的性能提升,以及在實際項目中的應用考量。 網絡抓包工具的使用: 教授如何使用Wireshark、Chrome DevTools等工具來捕獲和分析HTTP流量,幫助理解協議的實際運作。 本書的特色: 圖解化講解: 大量精心設計的圖示,將抽象的概念可視化,讓學習過程更加直觀易懂。 理論與實踐結閤: 不僅講解協議的原理,更提供豐富的代碼示例和實際場景分析,幫助讀者將所學知識應用於實際開發。 由淺入深,循序漸進: 從基礎概念到高級應用,逐步引導讀者深入理解HTTP協議的精髓。 前沿技術覆蓋: 關注HTTP協議的最新發展,包括HTTP/2和HTTP/3。 實戰指導: 幫助讀者解決在Web開發中遇到的實際問題,提升開發效率和質量。 無論您是初入Web前端開發的菜鳥,還是經驗豐富的開發者,抑或是對互聯網技術充滿好奇的技術愛好者,本書都將是您理解網絡通信、構建高效Web應用的寶貴指南。讓我們一同揭開HTTP協議的神秘麵紗,掌握驅動現代互聯網運轉的強大力量。