The Apache Modules Book: Application Development with Apache (Paperback)
暫譯: Apache 模組書:使用 Apache 進行應用程式開發 (平裝本)
Nick Kew
- 出版商: Prentice Hall
- 出版日期: 2007-02-05
- 售價: $2,390
- 貴賓價: 9.5 折 $2,271
- 語言: 英文
- 頁數: 592
- 裝訂: Paperback
- ISBN: 0132409674
- ISBN-13: 9780132409674
-
相關分類:
網站伺服器 Web-server、C 程式語言
海外代購書籍(需單獨結帳)
買這商品的人也買了...
-
$1,414Writing Apache Modules with Perl and C (Paperback)
-
$590$466 -
$720$569 -
$1,590$1,511 -
$720$706 -
$580$458 -
$680$537 -
$880$695 -
$390$308 -
$2,470$2,347 -
$650$507 -
$550$435 -
$450$356 -
$550$435 -
$880$695 -
$1,560$1,326 -
$580$452 -
$290$226 -
$600$480 -
$490$417 -
$780$616 -
$1,560Programming: Principles and Practice Using C++ (Paperback)
-
$750$638 -
$320$250 -
$320$250
商品描述
Description
"Do you learn best by example and experimentation? This book is ideal. Have your favorite editor and compiler ready—you'll encounter example code you'll want to try right away. You've picked the right book—this is sure to become the de facto standard guide to writing Apache modules."
—Rich Bowen, coauthor, Apache Administrators Handbook, Apache Cookbook, and The Definitive Guide to Apache mod_rewrite
"A first-rate guide to getting the most out of Apache as a modular application platform—sure to become a must-read for any Apache programmer, from beginner to experienced professional. It builds up carefully and meticulously from the absolute basics, while including chapters on everything from the popular Apache DBD Framework to best practices, security, and debugging."
—Noirin Plunkett, documentation committer to the Apache httpd project, and member of the ASF conference committee
The Only Comprehensive Guide to Developing Apache 2.x Modules and Applications
Apache is more than the world's most popular Web server—it's also an extraordinarily powerful and extensible development platform. Now, ApacheTutor.org's Nick Kew has written The Apache Modules Book, the first start-to-finish, example-rich guide for every developer who wants to make the most of Apache.
Kew begins with detailed, accessible introductions to Apache's architecture and API, then illuminates all the techniques you'll need, from request processing through code security. He brings together the best of both worlds: powerful C-based techniques for accomplishing tasks Perl or PHP can't handle, implemented with tools that deliver all the productivity you'd expect from higher-level languages.
Utilizing realistic code samples, Kew introduces techniques documented in no other book-and, often, nowhere else at all.
Coverage includes
- Using Apache Portable Runtime (APR) to streamline C development and avoid its pitfalls
- Leveraging Apache DBD to build applications far more scalable than classic LAMP software
- Working with the latest Apache 2.x features: filter modules, XML support, and smart proxies
- Mastering best practices, from thread safety to multi-platform development
- Utilizing the Apache Authentication Framework
- Tracing and debugging problems in both Apache and your custom modules
About the Web Site
ApacheTutor.org contains code examples from the book, all designed for easy use and integration into existing applications.
Table of Contents
Foreword xxi
Preface xxiii
Acknowledgments xxvii
About the Author xxix
Chapter 1 Applications Development with Apache 1
1.1 A Brief History of the Apache Web Server 1
1.2 The Apache Software Foundation 3
1.3 The Apache Development Process 6
1.4 Apache and Intellectual Property 12
1.5 Further Reading 16
1.6 Summary 19
Chapter 2 The Apache Platform and Architecture 21
2.1 Overview 21
2.3 Multi-Processing Modules 26
2.4 Basic Concepts and Structures 29
2.5 Other Key API Components 39
2.6 Apache Configuration Basics 41
2.7 Request Processing in Apache 42
2.8 Summary 51
Chapter 3 The Apache Portable Runtime 53
3.1 APR 54
3.2 APR-UTIL 56
3.3 Basic Conventions 57
3.4 Resource Management: APR Pools 59
3.5 Selected APR Topics 68
3.6 Databases in APR/Apache 79
3.7 Summary 83
Chapter 4 Programming Techniques and Caveats 85
4.1 Apache Coding Conventions 85
4.2 Managing Module Data 88
4.3 Communicating Between Modules 90
4.4 Thread-Safe Programming Issues 92
4.5 Managing Persistent Data 93
4.6 Cross-Platform Programming Issues 99
4.7 Cross-MPM Programming Issues 101
4.8 Secure Programming Issues 106
4.9 External Dependencies and Libraries 114
4.10 Modules Written and Compiled in Other Languages 120
4.11 Summary 122
Chapter 5 Writing a Content Generator 123
5.1 The HelloWorld Module 124
5.2 The Request, the Response, and the Environment 130
5.3 The Default Handler 144
5.4 Summary 148
Chapter 6 Request Processing Cycle and Metadata Handlers 151
6.1 HTTP 152
6.2 Request Processing in Apache 155
6.3 Diverting a Request: The Internal Redirect 161
6.4 Gathering Information: Subrequests 163
6.5 Developing a Module 168
6.6 Summary 174
Chapter 7 AAA: Access, Authentication, and Authorization 177
7.1 Security 177
7.2 An Overview of AAA 180
7.3 AAA in Apache 1.x and 2.0 182
7.4 AAA in Apache 2.1/2.2 182
7.5 AAA Logic 185
7.6 Writing AAA Modules 187
7.7 Implementing a Custom Login Scheme 195
7.8 Summary 199
Chapter 8 Filter Modules 201
8.1 Input and Output Filters 202
8.2 Content, Protocol, and Connection Filters 202
8.3 Anatomy of a Filter 205
8.4 The Filter API and Objects 207
8.5 Filter Objects 208
8.6 Filter I/O 210
8.7 Smart Filtering in Apache 2.2 211
8.8 Example: Filtering Text by Direct Manipulation of Buckets 217
8.9 Complex Parsing 221
8.10 Filtering Through an Existing Parser 225
8.11 stdio-Like Filter I/O 227
8.12 Input Filters and the Pull API 230
8.13 Summary 235
Chapter 9 Configuration for Modules 237
9.1 Configuration Basics 237
9.2 Configuration Data Structs 239
9.3 Managing a Module Configuration 239
9.4 Implementing Configuration Directives 242
9.5 The Configuration Hierarchy 250
9.6 Context in Configuration Functions 255
9.7 Custom Configuration Containers 257
9.8 Alternative Configuration Methods 261
9.9 Summary 262
Chapter 10 Extending the API 263
10.1 Implementing New Functions in Apache 264
10.2 Hooks and Optional Hooks 267
10.3 The Provider API 272
10.4 Providing a Service 277
10.5 Cross-Platform API Builds 284
10.6 Summary 288
Chapter 11 The Apache Database Framework 289
11.1 The Need for a New Framework 290
11.2 The DBD Architecture 292
11.3 The apr_dbd API 292
11.4 The ap_dbd API 302
11.5 An Example Application Module: mod_authn_dbd 303
11.6 Developing a New DBD Driver 306
11.7 Summary 320
Chapter 12 Module Debugging 323
12.1 Logging for Debugging 324
12.2 Running Apache Under a Debugger 327
12.3 Special-Purpose Hooks and Modules 333
12.4 Filter Debugging 338
12.5 Summary 341
Appendix A Apache License 343
Appendix B Contributor License Agreements 349
Appendix C Hypertext Transfer Protocol: HTTP/1.1 357
Index 531
商品描述(中文翻譯)
**描述**
「你是否透過範例和實驗學習得最好?這本書非常理想。準備好你最喜愛的編輯器和編譯器——你將會遇到想要立即嘗試的範例程式碼。你選擇了正確的書籍——這肯定會成為撰寫 Apache 模組的事實標準指南。」
—Rich Bowen,《Apache 管理員手冊》、《Apache 食譜》和《Apache mod_rewrite 的權威指南》共同作者
「一本一流的指南,幫助你充分利用 Apache 作為模組化應用平台——必定會成為任何 Apache 程式設計師的必讀書籍,無論是初學者還是經驗豐富的專業人士。它從最基本的概念開始,逐步深入,同時涵蓋從流行的 Apache DBD 框架到最佳實踐、安全性和除錯的所有章節。」
—Noirin Plunkett,Apache httpd 專案的文檔提交者,及 ASF 會議委員會成員
**唯一全面的 Apache 2.x 模組和應用開發指南**
Apache 不僅是全球最受歡迎的網頁伺服器——它也是一個極其強大且可擴展的開發平台。現在,ApacheTutor.org 的 Nick Kew 撰寫了《The Apache Modules Book》,這是每位希望充分利用 Apache 的開發者的第一本從頭到尾、範例豐富的指南。
Kew 以詳細且易於理解的方式介紹了 Apache 的架構和 API,然後闡明了你所需的所有技術,從請求處理到程式碼安全。他將兩者的優點結合在一起:強大的基於 C 的技術來完成 Perl 或 PHP 無法處理的任務,並使用提供高生產力的工具,這是你從高階語言中所期望的。
利用現實的程式碼範例,Kew 介紹了在其他書籍中未有記載的技術——而且,通常在其他地方也找不到。
涵蓋內容包括:
- 使用 Apache Portable Runtime (APR) 來簡化 C 開發並避免其陷阱
- 利用 Apache DBD 建立比經典 LAMP 軟體更具可擴展性的應用
- 使用最新的 Apache 2.x 功能:過濾模組、XML 支援和智能代理
- 精通最佳實踐,從執行緒安全到多平台開發
- 利用 Apache 認證框架
- 在 Apache 和自定義模組中追蹤和除錯問題
**關於網站**
ApacheTutor.org 包含書中的程式碼範例,所有範例均設計為易於使用並整合到現有應用中。
**目錄**
- 前言 xxi
- 序言 xxiii
- 感謝 xxvii
- 關於作者 xxix
- 第 1 章 使用 Apache 進行應用開發 1
- 1.1 Apache 網頁伺服器的簡史 1
- 1.2 Apache 軟體基金會 3
- 1.3 Apache 開發流程 6
- 1.4 Apache 與智慧財產權 12
- 1.5 進一步閱讀 16
- 1.6 總結 19
- 第 2 章 Apache 平台與架構 21
- 2.1 概述 21
- 2.3 多處理模組 26
- 2.4 基本概念與結構 29
- 2.5 其他關鍵 API 元件 39
- 2.6 Apache 配置基礎 41
- 2.7 Apache 中的請求處理 42
- 2.8 總結 51
- 第 3 章 Apache Portable Runtime 53
- 3.1 APR 54
- 3.2 APR-UTIL 56
- 3.3 基本慣例 57
- 3.4 資源管理:APR 池 59
- 3.5 選定的 APR 主題 68
- 3.6 APR/Apache 中的資料庫 79
- 3.7 總結 83
- 第 4 章 程式設計技術與注意事項 85
- 4.1 Apache 編碼慣例 85
- 4.2 管理模組資料 88
- 4.3 模組間的通訊 90
- 4.4 執行緒安全的程式設計問題 92
- 4.5 管理持久資料 93
- 4.6 跨平台程式設計問題 99
- 4.7 跨 MPM 程式設計問題 101
- 4.8 安全程式設計問題 106
- 4.9 外部依賴與函式庫 114
- 4.10 用其他語言編寫和編譯的模組 120
- 4.11 總結 122
- 第 5 章 撰寫內容生成器 123
- 5.1 HelloWorld 模組 124
- 5.2 請求、回應與環境 130
- 5.3 預設處理器 144
- 5.4 總結 148
- 第 6 章 請求處理循環與元資料處理器 151
- 6.1 HTTP 152
- 6.2 Apache 中的請求處理 155
- 6.3 轉發請求:內部重定向 161
- 6.4 收集資訊:子請求 163
- 6.5 開發模組 168
- 6.6 總結 174
- 第 7 章 AAA:存取、認證與授權 177
- 7.1 安全性 177
- 7.2 AAA 概述 180
- 7.3 Apache 1.x 和 2.0 中的 AAA 182
- 7.4 Apache 2.1/2.2 中的 AAA 182
- 7.5 AAA 邏輯 185
- 7.6 撰寫 AAA 模組 187
- 7.7 實作自定義登入方案 195
- 7.8 總結 199
- 第 8 章 過濾模組 201
- 8.1 輸入與輸出過濾器 202
- 8.2 內容、協定與連接過濾器 202
- 8.3 過濾器的結構 205
- 8.4 過濾器 API 與物件 207
- 8.5 過濾器物件 208
- 8.6 過濾器 I/O 210
- 8.7 Apache 2.2 中的智能過濾 211
- 8.8 範例:透過直接操作桶過濾文本 217
- 8.9 複雜解析 221
- 8.10 通過現有解析器過濾 225
- 8.11 類似 stdio 的過濾器 I/O 227
- 8.12 輸入過濾器與拉取 API 230
- 8.13 總結 235
- 第 9 章 模組配置 237
- 9.1 配置基礎 237
- 9.2 配置資料結構 239
- 9.3 管理模組配置 239
- 9.4 實作配置指令 242
- 9.5 配置層級 250
- 9.6 配置函數中的上下文 255
- 9.7 自定義配置容器 257
- 9.8 替代配置方法 261
- 9.9 總結 262
- 第 10 章 擴展 API 263
- 10.1 在 Apache 中實作新功能 264
- 10.2 鉤子與可選鉤子 267
- 10.3 提供者 API 272
- 10.4 提供服務 277
- 10.5 跨平台 API 構建 284
- 10.6 總結 288
- 第 11 章 Apache 資料庫框架 289
- 11.1 新框架的需求 290
- 11.2 DBD 架構 292
- 11.3 apr_dbd API 292
- 11.4 ap_dbd API 302
- 11.5 範例應用模組:mod_authn_dbd 303
- 11.6 開發新 DBD 驅動程式 306
- 11.7 總結 320
- 第 12 章 模組除錯 323
- 12.1 除錯日誌 324
- 12.2 在除錯器下運行 Apache 327
- 12.3 特殊用途的鉤子和模組 333
- 12.4 過濾器除錯 338
- 12.5 總結 341
- 附錄 A Apache 授權 343
- 附錄 B 貢獻者授權協議 349
- 附錄 C 超文本傳輸協定:HTTP/1.1 357
- 索引 531