Emiller的Nginx模块开发指南
内容目录
0. 预备知识....................................................................................................................1
1. Nginx模块任务委派的主要轮廓..............................................................................1
2. Nginx模块的组成.....................................................................................................3
2.1. 模块的配置结构体..........................................................................................3
2.2. 模块的指令......................................................................................................4
2.3. 模块的上下文..................................................................................................6
2.3.1. 创建位置结构体(create_loc_conf)..................................................8
2.3.2. 初始化结构体(merge_loc_conf)......................................................8
2.4. 模块定义..........................................................................................................9
2.5. 模块注册........................................................................................................10
3. 处理模块、过滤模块和 负载均衡模块................................................................10
3.1. 剖析处理模块(非代理).................................................................................10
3.1.1. 获得位置配置结构体..........................................................................10
3.1.2. 产生回复..............................................................................................11
3.1.3. 发送HTTP头部....................................................................................12
3.1.4. 发送HTTP主体....................................................................................13
3.2. 上游模块剖析(又称代理模块)................................................................14
i
Programming in Java™ Advanced Imaging
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv
Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv
Style Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
1 Introduction to Java Advanced Imaging . . . . . . . . . . . . . . . . . . . . 1
1.1 The Evolution of Imaging in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.2 Why Another Imaging API? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.3 JAI Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.3.1 Cross-platform Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.3.2 Distributed Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.3.3 Object-oriented API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.3.4 Flexible and Extensible . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.3.5 Device Independent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.3.6 Powerful . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.3.7 High Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.3.8 Interoperable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.4 A Simple JAI Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2 Java AWT Imaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.1.1 The AWT Push Model . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.1.2 AWT Push Model Interfaces and Classes . . . . . . . . . . . .11
2.2 The Immediate Mode Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.2.1 Rendering Independence . . . . . . . . . . . . . . . . . . . . . . . . .12
2.2.2 Rendering-independent Imaging in Java AWT . . . . . . . .13
2.2.3 The Renderable Layer vs. the Rendered Layer . . . . . . . .13
2.2.4 The Render Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
2.3 Renderable and Rendered Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
2.3.1 The Renderable Layer . . . . . . . . . . . . . . . . . . . . . . . . . . .16
2.3.2 The Rendered Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
2.4 Java Image Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19