The_Django_Book2.0

Page 241

2010-5-5

第十七章: 中间件

何人都能够伪造 HTTP_X_FORWARDED_FOR 值,而 REMOTE_ADDR 又是依据 HTTP_X_FORWARDED_FOR 来设置,这就意 味着任何人都能够伪造IP地址。 只有当能够绝对信任 HTTP_X_FORWARDED_FOR 值得时候才能够使用这个中间件。

会话支持中间件 Middleware class: django.contrib.sessions.middleware.SessionMiddleware . 这个中间件激活会话支持功能. 细节请参见第12章。 See Chapter 14 for details.

站点缓存中间件 Middleware classes: django.middleware.cache.UpdateCacheMiddleware and django.middleware.cache.FetchFromCacheMiddleware .

这些中间件互相配合以缓存每个基于Django的页面。 已在第13章中详细讨论。

事务处理中间件 Middleware class: django.middleware.transaction.TransactionMiddleware . 这个中间件将数据库的 COMMIT 或 ROLLBACK 绑定到request/response处理阶段。 如果view函数成功执行,则 发出 COMMIT 指令。 如果view函数抛出异常,则发出 ROLLBACK 指令。 这个中间件在栈中的顺序非常重要。 其外层的中间件模块运行在Django缺省的 保存-提交 行为模式下。 而其 内层中间件(在栈中的其后位置出现)将置于与view函数一致的事务机制的控制下。 关于数据库事务处理的更多信息,请参见附录C。

下一章 Web开发者和数据库模式设计人员并不总是享有白手起家打造项目的奢侈机会。 In the next chapter, we’ll cover how to integrate with legacy systems, such as database schemas you’ve inherited from the 1980s.

| 上一章 | 目 录 | 下一章 | 翻译 | Copyright 2006 Adrian Holovaty and Jacob Kaplan-Moss. This w ork is licensed under the GNU Free Document License. Hosting graciously provided by Chinese translate hosting by py3k.cn.

djangobook.py3k.cn/2.0/chapter17/

6/6


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.