tornado (一) 开篇

前言:
python web框架有很多,排前面的主要有 django、flask、tornado 当然还有后起之秀sanic 各有千秋。当然本系列文章不讲他们的区别,或者性能高低之类的。只讲tornado本身
tornado 框架本身并不仅仅是个web框架,还是个服务器(说白了类似java 中的 tomcat,但先天设计性能比其高,尤其是在高并发情况下,当服务器处理操作1000个请求,由于操作系统本身的限制,处理请求的速度会大大降低。但tornado 并不会。好了这些就不吹了)下面进入正题
在这里插入图片描述
从上面的图(网上找的)可以看出,Tornado 不仅仅是一个WEB框架,它还完整地实现了HTTP服务器和客户端,在此基础上提供WEB服务。它可以分为四层:

  • 最底层的EVENT层处理IO事件;
  • TCP层实现了TCP服务器,负责数据传输;
  • HTTP/HTTPS层基于HTTP协议实现了HTTP服务器和客户端;
  • 最上层为WEB框架,包含了处理器、模板、数据库连接、认证、本地化等等WEB框架需要具备的功能。

在tornado的子目录中,每个模块都应该有一个.py文件,你可以通过检查他们来判断你是否从已经从代码仓库中完整的迁出了项目。在每个源代码的文件中,你都可以发现至少一个大段落的用来解释该模块的doc string,doc string中给出了一到两个关于如何使用该模块的例子。

下面首先介绍 Tornado 的模块按功能分类。

Tornado模块分类

  1. Core web framework
    tornado.web — 包含web框架的大部分主要功能,包含RequestHandler和Application两个重要的类
    tornado.httpserver — 一个无阻塞HTTP服务器的实现
    tornado.template — 模版系统
    tornado.escape — HTML,JSON,URLs等的编码解码和一些字符串操作
    tornado.locale — 国际化支持

  2. Asynchronous networking 底层模块
    tornado.ioloop — 核心的I/O循环
    tornado.iostream — 对非阻塞式的 socket 的简单封装,以方便常用读写操作
    tornado.httpclient — 一个无阻塞的HTTP服务器实现
    tornado.netutil — 一些网络应用的实现,主要实现TCPServer类

  3. Integration with other services
    tornado.auth — 使用OpenId和OAuth进行第三方登录
    tornado.database — 简单的MySQL服务端封装
    tornado.platform.twisted — 在Tornado上运行为Twisted实现的代码
    tornado.websocket — 实现和浏览器的双向通信
    tornado.wsgi — 与其他python网络框架/服务器的相互操作

  4. Utilities
    tornado.autoreload — 生产环境中自动检查代码更新
    tornado.gen — 一个基于生成器的接口,使用该模块保证代码异步运行
    tornado.httputil — 分析HTTP请求内容
    tornado.options — 解析终端参数
    tornado.process — 多进程实现的封装
    tornado.stack_context — 用于异步环境中对回调函数的上下文保存、异常处理

后续会继续讲解如何做个基于 tornado web 网站后台开发

更多参考:http://www.tornadoweb.org/en/stable/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值