可扩展的非阻塞式 Tornado 框架基础
作者:网络转载 发布时间:[ 2012/10/9 11:07:09 ] 推荐标签:
一、Tornado框架概述
Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。(关于如何扩容 服务器,以处理数以千计的客户端的连接的问题,请参阅 C10K problem。)
二、HelloWorld
上述代码在浏览器中打印一行字符串(Hello, world!)。
Tornado框架自身实现了一个HTTP Server,因此不需要额外的Web Server,只需要运行Python脚本即可启动整个应用。
在Tornado框架中,一个URI对应一个RequestHandler,每一个Handler负责处理该URI的HTTP请求,GET、 POST、HEAD等HTTP方法对应Handler的get()、post()、head()等方法,HTTP请求的处理逻辑在相应的方法内实现。 Handler可以看做是Tornado框架里的Controller。
RequestHandler的write()方法,将字符串写入Response;render()方法将模板文件写入Response。
三、HelloWorld的进一步扩充
define()函数为脚本扩展命令行参数。脚本启动时的参数可以通过python –help命令查看:
port参数是自定义的启动参数,其它参数均为框架自带的默认启动参数。
使用启动参数的方法如下:
四、静态页面的处理
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11