tornado中处理请求与响应的类如下, 所有视图类必须继承该类:

tornado.web.RequestHandler

一. 响应之self.write()方法

1.  该方法可返回值的类型: 当返回字典时, 可以把字典json成字符串, 使用write返回, 其在response头

中呈现的是text类型.

  write()方法执行不代表视图的终止,该方法把返回的内容会放入缓存区,

   其下如还有代码会继续执行.

  缓存区什么时候返回内容呢?  1.程序结束; 2.手动刷新; 3.缓存区满了; 4.遇到\n

2.  使用write方法直接返回字典, 也可. 其在response响应头中会自动呈现为json类型.

二.  响应之self.redirect( url )方法:

1. 重定向到url网址.

三. 响应之self.send_error( status_code, **kwargs) 和 write_error( status_code, **kwargs)

send_error用来抛出http错误状态码, 默认为500, 抛出后tornado会调用write_error方法处理.并返回

给浏览器事先定义的错误页面.

注意: self.send_error()只是个tornado提供的一个方法, 而write_error是类方法.

def write_erroe(self, status_code, **kwargs):

类中无论何处send_error方法抛出的, 都会在该方法中处理. status_code会接受错误码

可根据status_code来返回不同的自定义页面.

def get(self, *args, **kwargs):

self.send_error(500)

四. 响应之self.finish()方法

 1. 作用同self.write()方法, 都可用于返回数据, 不同之处在于write方法是把数据放入缓存区, 而finish方法

  在write基础上会自动刷新缓存区把内容返回, 且会关闭当此请求通道, 其下其余的返回内容无效.

五.  响应头设置

1.  set_status( status_code, reason=None)方法的使用:

在tornado视图方法中直接使用:(注意reason为None时状态码必须为正常值

def get(self):

self.set_status(666, ‘状态码的描述’)

self.write(‘...........’)

2.  tornado提供有全局设置响应头的方法, 方法名固定, 框架内置的:

在视图类中定义该方法, 其下配合set_header方法设置响应头, 即可让试图类中所有方法都带有响应头:

def set_default_headers():

self.set_header(key, value)  # key和value自定义即可.

self.set_header(k1, v1)     # 可罗列多个该方法, 一次设置多个响应头

tornado请求与响应的更多相关文章

  1. 2.tornado请求与响应

    之前我们介绍了tornado的基础流程,但还遗留了一些问题.今天我们就来解决遗留问题并学习新的内容 settings,使用tornado.web.Application(handler, **sett ...

  2. tornado的请求与响应

    tornado请求与响应相关 一.配置文件config.py 中的settings 有哪些配置: debug:设置tornado是否工作再调试模式下,默认为false 即工作再生产模式下 true的特 ...

  3. 2.(基础)tornado的请求与响应

    之前我们介绍了tornado 的基础流程,但是还遗留了一些问题,今天我们就来解决这些遗留问题并学习新的内容 settings,使用tornado.web.Application(handler, ** ...

  4. tornado 03 请求与响应

    tornado 03 请求与响应 一.请求与响应 浏览器与服务器之间沟通的到底是什么信息 #服务器在后台一直保持运行着 #浏览器通过URL(路由.地址)发送请求 #服务器接收请求了通过tornado处 ...

  5. Django底层剖析之一次请求到响应的整个流程

    As we all know,所有的Web应用,其本质上其实就是一个socket服务端,而用户的浏览器就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...

  6. 初入网络系列笔记(4)HTTP请求和响应

    一.借鉴说明,本博文借鉴以下博文 1.starok,HTTP必知必会,http://www.cnblogs.com/starstone/p/4890409.html 2.CareySon,HTTP协议 ...

  7. http协议(二)请求和响应报文的构成

    http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...

  8. iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全

    一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...

  9. struts2基础——请求与响应、获取web资源

    一.请求与响应 Action1.含义:(1) struts.xml 中的 action 元素,也指 from 表单的 action 属性,总之代表一个 struts2 请求.(2) 用于处理 Stru ...

随机推荐

  1. AOP软件设计

    什么是面向方面的编程? 为什么面向方面的软件设计? 术语 关注 视口 关注点分离 人工制品 横切 方面 编织 零件 形式主义 第二节 案例研究 关注 人工制品 横切 方面 AspectJ 加入点 切入 ...

  2. LeetCode 133:克隆图 Clone Graph

    题目: 给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆).图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node]). Given a reference of a ...

  3. 在项目中使用Solr

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  4. HBuilder webApp开发(七)微信/QQ/新浪/腾讯微博分享

    链接 https://blog.csdn.net/zhuming3834/article/details/51706256

  5. WPF 中如何变相让 ListBox 宽度(Width) 100%,高度(Height) 100%,从而达到 Filled 的效果

    直接贴代码了: XAML: <Window x:Class="HelloWorld.MainWindow" xmlns="http://schemas.micros ...

  6. Python 简单爬虫案例

    Python 简单爬虫案例 import requests url = "https://www.sogou.com/web" # 封装参数 wd = input('enter a ...

  7. .Net中WebService从创建到发布到部署带(IIS)的过程笔记

    一.Web Service 1.定义 是可以接收从Internet上的其他系统中传递的请求,是一种轻量级的独立的通讯技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就 ...

  8. jQuery-ready与load

      // ready 在DOM加载完成时运行的代码 $(document).ready(function(){ // 在这里写代码... }) // 可以简写为 $(function(){ // 在这 ...

  9. 【IPHONE开发-OBJECTC入门学习】文件的操作,读写复制文件

    转自:http://blog.csdn.net/java886o/article/details/9041547 FileTools.h FileTools.m #import "FileT ...

  10. 队列解密QQ号

    队列解密QQ号 本篇博客主要是<啊哈!算法>的读书笔记,这里做一下记录. 问题场景: 给定一串 QQ 号,631758924,从其中解密出真实的 QQ 号. 解密规则:首先将第一个数删除, ...