在研究tornado时,有个Etag比较好奇,从网上查询摘录如下: Etag在HTTP1.1中有介绍,主要的作用就是在(css file, image, javascript file)文件后面添加一个唯一的参数(相当于查询参数字符串),Etag有服务器端生成,并且随着文件的改变而改变,这样浏览器端 ...
分类:
Web程序 时间:
2016-04-25 17:44:45
阅读次数:
217
Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。 Tornado 和现 ...
分类:
其他好文 时间:
2016-04-24 12:31:34
阅读次数:
169
Tornado就是我们在FriendFeed的Web服务器及其常用工具的开源版本。Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epoll的运用,Tornado每秒可以处理数以千计的连接,因此Tornado是..
分类:
其他好文 时间:
2016-04-22 16:40:10
阅读次数:
143
执行字符串表示的函数,并为该函数提供全局变量 本篇的内容从题目中就可以看出来,就是为之后剖析tornado模板做准备,也是由于该知识点使用的巧妙,所有就单独用一篇来介绍了。废话不多说,直接上代码: 此段代码的执行结果是:name xs,age 18 上述代码解析: 第6行,code是一个字符串,该字 ...
分类:
编程语言 时间:
2016-04-21 22:10:35
阅读次数:
219
上篇用上帝视角多整个框架做了一个概述,同时也看清了web框架的的本质,下面我们从tornado程序的起始来分析其源码。 概述 上图是tornado程序启动以及接收到客户端请求后的整个过程,对于整个过程可以分为两大部分: 启动程序阶段,又称为待请求阶段(上图1、2所有系列和3.0) 接收并处理客户端请 ...
分类:
编程语言 时间:
2016-04-21 21:57:37
阅读次数:
460
概述 本篇就来详细介绍tornado服务器(socket服务端)是如何接收用户请求数据以及如果根据用户请求的URL处理并返回数据,也就是上图的3系列所有步骤,如上图【start】是一个死循环,其中利用epoll监听服务端socket句柄,一旦客户端发送请求,则立即调用HttpServer对象的_ha ...
分类:
编程语言 时间:
2016-04-21 21:55:45
阅读次数:
375
上一篇介绍了客户端请求在tornado框架中的生命周期,其本质就是利用epoll和socket来获取并处理请求。在上一篇的内容中,我们只是给客户端返回了简单的字符串,如:“Hello World”,而在实际开发中,需要使用html文件的内容作为模板,然后将被处理后的数据(计算或数据库中的数据)嵌套在 ...
分类:
编程语言 时间:
2016-04-21 21:46:36
阅读次数:
289
本系列博文计划: 1、剖析基于Python的Web框架Tornado的源码 2、为Python开发一个完善的MVC框架 首先将带着大家一起来剖析基于python编写的Web框架 tornado ,本着易读易懂的目标来写这一系列,寄希让小白也能zeng明白其中的道理,与其说剖析还不如说是白话,因为本系 ...
分类:
编程语言 时间:
2016-04-21 21:44:27
阅读次数:
210
一、快速上手 第一步:执行脚本,监听 8888 端口 第二步:浏览器客户端访问 /index --> http://127.0.0.1:8888/index 第三步:服务器接受请求,并交由对应的类处理该请求 第四步:类接受到请求之后,根据请求方式(post / get / delete ...)的不 ...
分类:
其他好文 时间:
2016-04-20 17:58:31
阅读次数:
170
Python快速搭建自动回复微信公众号在之前的一篇文章 Python利用 AIML 和 Tornado 搭建聊天机器人微信订阅号 中用 aiml 实现了一个简单的英文聊天机器人订阅号。但是只能处理英文消息,现在用 图灵机器人 来实现一个中文的聊天机器人订阅号。这里主要介绍如何利用 Python 的 Tornado Web框架以及wechat-python-sdk 微信公众平台 Python 开发包来...
分类:
微信 时间:
2016-04-19 19:41:23
阅读次数:
678