中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書

包郵 詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書

出版社:人民郵電出版社出版時間:2022-08-01
開本: 16開 頁數: 413
中 圖 價:¥93.5(7.2折) 定價  ¥129.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書 版權信息

詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書 本書特色

適讀人群 :本書適合Web開發工程師,以及對HTTP協議感興趣的各層次讀者閱讀。1.從歷史中學習 本書角度新穎,沿著HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3的發展歷史,通俗易懂地講解了各個版本的HTTP的協議規范,闡明了HTTP是如何通過功能設計和擴展來實現高速化和安全性目標的。 2.從代碼中學習 本書結合大量用Go語言實現的具體的客戶端代碼示例,詳細介紹了瀏覽器內部的動作、瀏覽器與服務器進行交互的方法等,揭秘了HTTP通信的機制。 3.本書在日本出版后受到好評,在日亞圖書“網絡協議”類排名TOP。

詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書 內容簡介

本書沿著HTTP/1.0、HTTP/1.1、HTTP/2和HTTP/3的發展歷史,從方法和路徑、首部、主體、狀態碼這4個HTTP的基本元素講起,詳細介紹了瀏覽器內部的動作、瀏覽器與服務器進行交互的方法等。針對各個版本的HTTP,分別從語法和語義兩個角度,通俗易懂地講解了HTTP的協議規范,并結合用Go語言實現的具體的客戶端代碼示例,為讀者闡明了HTTP是如何通過功能設計和擴展來實現高速化和安全性目標的。 本書內容全面,網羅了與HTTP相關的各種技術,包括簡單的HTTP訪問、表單的發送、緩存和Cookie的控制、Keep-Alive、SSL/TLS、協議升級、服務器推送、Server-Sent Events、WebSocket、DNS、CDN、RESTful API、Web應用程序和安全方面的內容等。 本書適合Web開發工程師,以及對HTTP協議感興趣的各層次讀者閱讀。

詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書 目錄

前言 xix

第 1章 HTTP/1.0的語法:4個基本元素 1

1.1 HTTP的歷史 1

1.2 嘗試HTTP/0.9能夠實現的處理 6

1.3 從HTTP/0.9到HTTP/1.0的發展過程 8

1.4 HTTP的祖先(1):電子郵件 9

1.4.1 發送首部 11

1.4.2 接收首部 13

1.4.3 MIME類型 14

1.4.4 Content-Type與安全性 15

1.4.5 HTTP與電子郵件的區別 16

1.5 HTTP的祖先(2):新聞組 16

1.5.1 方法 17

1.5.2 狀態碼 18

1.6 重定向 20

1.7 URL 22

1.7.1 URL的結構 23

1.7.2 URL與國際化 25

1.7.3 標準URL 25

1.7.4 協議相對URL 26

1.8 主體 27

1.9 本章小結 29

第 2章 HTTP/1.0的語義:瀏覽器基本功能的背后 31

2.1 使用x-www-form-urlencoded發送表單 31

2.2 使用multipart/form-data發送文件 33

2.3 使用表單進行重定向 36

2.4 內容協商 37

2.4.1 確定文件類型 37

2.4.2 確定顯示語言 37

2.4.3 確定字符集 38

2.4.4 使用壓縮提高通信速度 39

2.5 Cookie 40

2.5.1 Cookie的分類 43

2.5.2 Cookie的錯誤用法 43

2.5.3 對Cookie加以限制 44

2.5.4 源 45

2.5.5 SameSite屬性 46

2.6 認證和會話 46

2.6.1 BASIC認證和Digest認證 47

2.6.2 使用Cookie進行會話管理 49

2.6.3 使用帶簽名的Cookie保存會話數據 50

2.7 代理 50

2.8 緩存 51

2.8.1 基于更新時間的緩存 52

2.8.2 Expires首部 53

2.8.3 Pragma:no-cache 55

2.8.4 不執行緩存的條件 55

2.8.5 添加ETag 55

2.8.6 Cache-Control 57

2.8.7 Vary 60

2.9 Referer 61

2.10 面向搜索引擎的內容訪問控制 63

2.10.1 robots.txt 63

2.10.2 robots.txt與訴訟案例 64

2.10.3 站點地圖 65

2.11 用戶代理 65

2.12 本章小結 67

第3章 使用Go語言實現HTTP/1.0客戶端 69

3.1 為何使用Go語言 69

3.2 Go語言的API結構 70

3.3 本章的主要內容 71

3.4 GET方法的發送及主體、狀態碼和首部的接收 71

3.5 使用GET方法發送查詢 75

3.6 使用HEAD方法獲取首部 76

3.7 使用POST方法發送x-www-form-urlencoded形式的表單 77

3.8 使用POST方法發送任意主體 78

3.9 使用multipart/form-data形式發送文件 79

3.10 Cookie的發送和接收 82

3.11 使用代理 84

3.12 訪問文件系統 86

3.13 發送任意方法 87

3.14 發送首部 88

3.15 超時 89

3.16 國際化域名 90

3.17 本章小結 90

第4章 HTTP/1.1的語法:追求高速化和安全性 93

4.1 通過Keep-Alive提高通信速度 94

4.2 TLS 97

4.2.1 散列函數 99

4.2.2 公共密鑰加密、公開密鑰加密和數字簽名 101

4.2.3 密鑰交換 102

4.2.4 區分使用公共密鑰方式和公開密鑰方式的理由 104

4.2.5 TLS的通信步驟 106

4.2.6 加密強度 110

4.2.7 密碼套件 111

4.2.8 選擇協議 113

4.2.9 TLS保護的內容 114

4.2.10 TLS時代 115

4.3 PUT方法和DELETE方法的標準化 115

4.4 添加OPTIONS方法、TRACE方法和CONNECT方法 116

4.4.1 OPTIONS 116

4.4.2 TRACE(TRACK) 117

4.4.3 CONNECT 118

4.5 協議升級 119

4.5.1 客戶端請求升級 120

4.5.2 服務器請求升級 120

4.5.3 向TLS升級時的問題點 121

4.6 支持虛擬主機 121

4.7 Chunk 122

4.8 確認主體發送 124

4.9 Data URI方案 124

4.10 本章小結 125

第5章 HTTP/1.1的語義:HTTP的擴展功能 127

5.1 下載文件并保存到本地 127

5.1.1 保存文件的Content-Disposition首部 128

5.1.2 默認文件名使用中文 128

5.1.3 在瀏覽器中顯示 128

5.2 暫停和恢復下載 129

5.2.1 指定多個范圍進行下載 131

5.2.2 并行下載 132

5.3 XMLHttpRequest 132

5.3.1 XMLHttpRequest的誕生 133

5.3.2 XMLHttpRequest與瀏覽器的HTTP請求的區別 134

5.3.3 Comet 134

5.3.4 XMLHttpRequest的安全性 136

5.4 Geo-Location 137

5.4.1 客戶端獲取位置的方法 137

5.4.2 服務器推測客戶端位置的方法 138

5.5 X-Powered-By首部 139

5.6 遠程過程調用 141

5.6.1 XML-RPC 141

5.6.2 SOAP 143

5.6.3 JSON-RPC 145

5.7 WebDAV 147

5.8 網站間共用的認證和授權平臺 148

5.8.1 單點登錄 149

5.8.2 Kerberos認證 149

5.8.3 SAML 150

5.8.4 OpenID 151

5.8.5 OpenSocial 153

5.8.6 OAuth 154

5.8.7 OpenID Connect 158

5.8.8 JWT 159

5.8.9 實際服務對認證系統提供支持時的陷阱 160

5.9 本章小結 161

第6章 使用Go語言實現HTTP/1.1客戶端 163

6.1 Keep-Alive 163

6.2 TLS 164

6.2.1 創建證書 164

6.2.2 HTTPS服務器和注冊證書 168

6.2.3 使用Go語言實現客戶端 170

6.2.4 客戶端證書 172

6.3 協議升級 175

6.3.1 服務器代碼 175

6.3.2 客戶端代碼 176

6.4 Chunk 178

6.4.1 服務器發送數據 179

6.4.2 客戶端依次接收數據(簡易版) 180

6.4.3 客戶端依次接收數據(完整版) 181

6.5 遠程過程調用 183

6.6 本章小結 185

第7章 HTTP/2和HTTP/3的語法:重新定義協議 187

7.1 HTTP/2和HTTP/3中未變化的內容 187

7.2 HTTP/2 188

7.2.1 SPDY 188

7.2.2 HTTP/2的改進 189

7.2.3 使用流實現高速通信 190

7.2.4 HTTP/2的應用程序層 195

7.2.5 流量控制 196

7.2.6 服務器推送 197

7.2.7 使用預加載優化資源獲取操作 197

7.2.8 使用HPACK壓縮首部 200

7.3 HTTP/3 200

7.3.1 QUIC 201

7.3.2 向HTTP/3邁進 201

7.3.3 HTTP/3的層 201

7.3.4 使用HTTP Alternative Services進行升級 203

7.4 用于JavaScript的新的通信API 205

7.4.1 Fetch API 205

7.4.2 Server-Sent Events 206

7.4.3 WebSocket 207

7.5 WebRTC 210

7.5.1 WebRTC的用例(1) 211

7.5.2 WebRTC的用例(2) 213

7.5.3 RFC之外的用例 214

7.5.4 RTCPeerConnection 214

7.5.5 媒體通道和getUserMedia 215

7.5.6 RTCDataChannel 216

7.6 HTTP Web推送 217

7.6.1 瀏覽器向推送服務申請訂閱 219

7.6.2 應用程序服務器向推送服務投遞消息 220

7.6.3 瀏覽器接收推送消息 220

7.6.4 設置緊急度 221

7.7 本章小結 221

第8章 HTTP/2的語義:新的用例 223

8.1 響應式設計 223

8.2 語義網 225

8.2.1 RDF 225

8.2.2 都柏林核心 226

8.2.3 RSS 226

8.2.4 微格式 226

8.2.5 微數據 227

8.2.6 RDF的逆襲 227

8.2.7 RDF系列之外的數據 228

8.3 開放內容協議 231

8.4 QR碼 234

8.5 AMP 236

8.6 通過移動應用程序使瀏覽環境多樣化 238

8.6.1 iOS的DeepLink 239

8.6.2 Android的DeepLink 239

8.7 使用HTTP Live Streaming播放視頻流 240

8.7.1 HLS的視頻標簽 240

8.7.2 Master的.m3u8文件 240

8.7.3 字幕的.m3u8文件 241

8.7.4 視頻文件 242

8.7.5 HLS的優點和缺點 243

8.7.6 HLS出現前后的視頻流相關的歷史 244

8.8 使用MPEG-DASH播放視頻流 244

8.8.1 MPEG-DASH與HLS在播放方法上的區別 245

8.8.2 Media Presentation Description文件的結構 245

8.9 CMAF 248

8.10 本章小結 248

第9章 使用Go語言實現HTTP/2、HTML5的協議 251

9.1 HTTP/2 251

9.2 HTTP/2的服務器推送 253

9.3 Server-Sent Events 257

9.3.1 服務器的實現 257

9.3.2 客戶端的實現 260

9.4 WebSocket 263

9.4.1 服務器的實現 263

9.4.2 客戶端的實現 265

9.4.3 房間的實現 265

9.5 本章小結 266

第 10章 從客戶端的角度來看RESTful API 269

10.1 RESTful API 269

10.1.1 RESTful API和RPC API的區別 270

10.1.2 Web API和事務 270

10.1.3 HATEOAS 272

10.1.4 RESTful和REST-ish 273

10.2 方法 274

10.3 狀態碼 275

10.4 主體 277

10.5 查看實際的RESTful API(PAY.JP的示例) 277

10.6 查看實際的RESTful API(GitHub的示例) 279

10.6.1 GitHub的授權 279

10.6.2 獲取信息的API訪問 283

10.6.3 刷新信息的API訪問 284

10.7 訪問RESTful API時的具體問題 286

10.7.1 超時 286

10.7.2 訪問次數的限制 286

10.8 本章小結 287

第 11章 使用JavaScript實現瀏覽器的動態HTTP請求 289

11.1 瀏覽器的HTTP與生命周期 289

11.2 XMLHttpRequest 290

11.3 Fetch API 292

11.3.1 Fetch API的基礎內容 292

11.3.2 Fetch的選項 293

11.3.3 創建和解析查詢參數 294

11.3.4 發送主體 295

11.3.5 只有Fetch API可以執行的操作 297

11.3.6 使用Fetch API時常見的錯誤 299

11.3.7 在瀏覽器之外的JavaScript環境中使用Fetch API 300

11.4 使用JavaScript重新加載瀏覽器時的HTTP訪問 300

11.5 下載文件 300

11.6 Server-Sent Events 302

11.7 WebSocket 303

11.8 本章小結 304

第 12章 Web應用程序的基礎知識 307

12.1 術語 307

12.2 基本流程 308

12.3 Web應用程序的請求的生命周期 310

12.3.1 HTTP請求 310

12.3.2 會話 311

12.4 Web應用程序的動作模式 314

12.4.1 第 1代:服務端渲染 314

12.4.2 第 2代:Ajax 315

12.4.3 第3代:單頁面應用 317

12.4.4 第3.5代:單頁面應用 + 服務端渲染 318

12.5 基礎設施的結構 319

12.5.1 開發環境 319

12.5.2 實際開發環境的基本結構 321

12.6 基礎設施的其他形式 324

12.6.1 PaaS 324

12.6.2 Serverless 325

12.6.3 微服務 325

12.7 Web應用程序的內部層次結構 326

12.8 Web應用程序的組成元素的詳細分類 329

12.9 Web API的設計:區分使用數據容器 330

12.10 今后不再使用的技術 331

12.10.1 CGI 331

12.10.2 RIA 332

12.11 本章小結 333

第 13章 云時代的HTTP:Web的各種強化技術 335

13.1 更大規模的Web系統的結構 335

13.2 DNS 336

13.2.1 DNS預查詢 337

13.2.2 DNS服務器的緩存 338

13.2.3 DNS客戶端的緩存 339

13.2.4 DNS負載均衡 339

13.2.5 DNS引流 339

13.2.6 使用SRV記錄的服務發現 340

13.3 反向代理 341

13.4 CDN 346

13.4.1 提高通信本身的速度和穩定性 346

13.4.2 作為靠近用戶的高級代理服務器 347

13.4.3 CDN的注意事項 349

13.5 負載均衡器 350

13.6 API網關 351

13.7 健康檢查 351

13.7.1 Liveness Prove 351

13.7.2 Readiness Prove 352

13.8 VPC 352

13.9 微服務與認證 353

13.10 分布式追蹤 354

13.10.1 向子任務傳遞追蹤信息的HTTP首部 355

13.10.2 向瀏覽器傳遞服務器內部的時間信息的HTTP首部 356

13.11 其他技術元素 357

13.12 本章小結 358

第 14章 安全:守護瀏覽器的HTTP功能 359

14.1 傳統類型的攻擊 359

14.2 針對瀏覽器的攻擊的特征 360

14.3 跨站腳本攻擊 361

14.3.1 設置Cookie以防止泄露 362

14.3.2 Content-Security-Policy首部 362

14.3.3 Content-Security-Policy和JavaScript模板引擎 365

14.3.4 Mixed Content的應對策略 366

14.3.5 CORS 366

14.4 中間人攻擊 370

14.5 會話劫持 371

14.5.1 舊的會話管理和會話固定攻擊 372

14.5.2 Cookie注入 372

14.6 跨站請求偽造 373

14.6.1 應對跨站請求偽造的令牌 373

14.6.2 SameSite屬性 374

14.7 點擊劫持 374

14.8 列表型賬戶入侵 375

14.8.1 密碼的保存:不保存明文密碼 376

14.8.2 保存密碼時使用的各種散列函數 377

14.8.3 密碼的日志掩碼化 377

14.8.4 多因素身份驗證 378

14.8.5 TOTP算法 378

14.8.6 WebAuthn 380

14.8.7 通知用戶別處的登錄 380

14.9 注入存在漏洞的代碼 381

14.10 面向Web應用程序的安全指南 382

14.11 Web廣告和安全 382

14.11.1 第三方Cookie 383

14.11.2 Cookie以外的代替手段 384

14.11.3 Google Analytics 384

14.11.4 在不確定用戶的情況下進行推測(Finger Print) 385

14.12 本章小結 386

附 錄 387

A.1 狀態碼一覽表 387

A.1.1 1字頭(信息) 387

A.1.2 2字頭(成功) 388

A.1.3 3字頭(重定向) 388

A.1.4 4字頭(客戶端錯誤) 389

A.1.5 5字頭(服務器錯誤) 390

A.2 首部字段一覽表 391

A.3 Internet Explorer與Content-Security-Policy首部 396

A.3.1 X-Content-Security-Policy首部 397

A.3.2 X-XSS-Protection首部 397

A.3.3 X-Frame-Options首部 397

A.4 使用Go語言進行JSON解析 398

A.4.1 使用Go語言的結構體標簽進行JSON解析 398

A.4.2 判斷值到底是省略了,還是為0 400

A.4.3 想要執行特殊類型轉換的情況 401

A.5 JSON相關的應用話題 403

A.5.1 在輸出時對輸出內容進行加工 403

A.5.2 類型因情況而改變的JSON的解析 404

A.5.3 轉換為通用的數據類型 406

A.5.4 JSON Schema 407

后記 411
展開全部

詳解HTTP(協議基礎與Go語言實現)/圖靈程序設計叢書 作者簡介

澀川喜規(作者) 現就職于日本Future Corporation。工作中經常使用Python、C++、JavaScript、Golang,對Web有濃厚興趣。著有《Go系統編程》、Mithril、《Mobage核心技術》(合著)等,同時也是The Art of Community的日文版譯者。侯振龍(譯者)軟件開發工程師,日語一級,具有十余年對日軟件開發經驗,對HTTP通信技術非常感興趣。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 开云(中国)Kaiyun·官方网站-登录入口 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 空压机商城|空气压缩机|空压机配件-压缩机网旗下商城 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 首页 - 军军小站|张军博客 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 书信之家_书信标准模板范文大全 最新范文网_实用的精品范文美文网 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 |