服务器区›› Tornado(Web服务器)

Tornado(Web服务器)

Tornado(Web服务器) 3.0 最新版

大小:305 KB

语言:英文系统:WinXP, Win2003, Win7, Win8

类别:服务器区时间:2013-09-30 15:27

Tags:Web服务器

Tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。

Tornado主要特点

Tornado的独特之处在于其所有开发工具能够使用在应用开发的任意阶段以及任何档次的硬件资源上。而且,完整集的Tornado工具可以使开发人员完全不用考虑与目标连接的策略或目标存储区大小。
Tornado 结构的专门设计为开发人员和第三方工具厂商提供了一个开放环境。已有部分应用程序接口可以利用并附带参考书目,内容从开发环境接口到连接实现。
Tornado包括强大的开发和调试工具,尤其适用于面对大量问题的嵌入式开发人员。这些工具包括C和C++源码级别的调试器,目标和工具管理,系统目标跟踪,内存使用分析和自动配置. 另外,所有工具能很方便地同时运行,很容易增加和交互式开发。

Tornado教程

请求处理程序和请求参数

Tornado 的 Web 程序会将 URL 或者 URL 范式映射到 tornado.web.RequestHandler 的子类上去。在其子类中定义了 get() 或 post() 方法,用以处理不同的 HTTP 请求。

下面的代码将 URL 根目录 / 映射到 MainHandler,还将一个 URL 范式 /story/([0-9]+) 映射到 StoryHandler。正则表达式匹配的分组会作为参数引入 的相应方法中:

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("You requested the main page")

class StoryHandler(tornado.web.RequestHandler):
    def get(self, story_id):
        self.write("You requested the story " + story_id)

application = tornado.web.Application([
    (r"/", MainHandler),
    (r"/story/([0-9]+)", StoryHandler),
])

你可以使用 get_argument() 方法来获取查询字符串参数,以及解析 POST 的内容:

class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write(''
''
''
'')

def post(self):
self.set_header("Content-Type", "text/plain")
self.write("You wrote " + self.get_argument("message"))

上传的文件可以通过 self.request.files 访问到,该对象将名称(HTML元素 <input type="file">的 name 属性)对应到一个文件列表。每一个文件都以字典的形式 存在,其格式为 {"filename":..., "content_type":..., "body":...}。

如果你想要返回一个错误信息给客户端,例如“403 unauthorized”,只需要抛出一个 tornado.web.HTTPError 异常:

if not self.user_is_logged_in():
raise tornado.web.HTTPError(403)

请求处理程序可以通过 self.request 访问到代表当前请求的对象。该 HTTPRequest 对象包含了一些有用的属性,包括:

arguments - 所有的 GET 或 POST 的参数
files - 所有通过 multipart/form-data POST 请求上传的文件
path - 请求的路径( ? 之前的所有内容)
headers - 请求的开头信息

你可以通过查看源代码 httpserver 模组中 HTTPRequest 的定义,从而了解到它的 所有属性。

∨ 展开

同类推荐

特别下载

编辑推荐

热门推荐

下载排行

热门关键字

tv市场2024最新直播手游加速器手机免费加速器合集恋爱手游推荐少女漫画大全剧情RPG游戏推荐成品漫画亲朋游戏手机税务政务服务平台数字货币交易所体育比分app打砖块游戏SCP系列手游18楼必备软件大龄交友相亲软件荒野求生游戏超级英雄游戏konami科乐美游戏广场舞软件最终幻想游戏合集飞机模拟驾驶游戏假面骑士腰带模拟器夜里适合男生用的app恋爱养成游戏塞尔达传说系列游戏外国生存游戏手游冷月白狐汉化组冷月白狐300游戏合集

网友评论

我要跟帖
取消
查看所有评论 共 0