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. Azure EA (1) 查看国内Azure账单

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 有关Azure EA Portal的详细内容,可以参考我的GitHu ...

  2. JeeSite | 访问控制权限

    在各种后台系统中都会涉及到权限的管控,从功能权限的管控,到数据权限的管控,都是为了让系统的在使用的过程中更加的安全.功能权限管控是对针对不同的角色可以进行不同的功能操作,而数据权限管控是针对不同的角色 ...

  3. Django学习笔记(17)——BBS+Blog项目开发(1)验证码功能的实现

    本文主要学习验证码功能的实现,为了项目BBS+Blog项目打下基础. 为了防止机器人频繁登陆网站或者破坏分子恶意登陆,很多用户登录和注册系统都提供了图形验证码功能. 验证码(CAPTCHA)是“Com ...

  4. Spring Cloud Feign 服务消费调用(三)

    序言 Spring Cloud Netflix的微服务都是以HTTP接口的形式暴露的,所以可以用Apache的HttpClient或Spring的RestTemplate去调用 而Feign是一个使用 ...

  5. Laravel应用 -- 脚本任务

    大多数项目在业务发展过程中,都需要修复历史数据和定时任务来完成一些业务逻辑,这部分通常都需要通过脚本来完成,一般的框架爱也都提供这部分的功能,学习并使用是工作中的基本要求. 基本流程 commands ...

  6. C# 三元表达式

    一.背景 因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教. 二.语法 表达式1?表达式2:表达式3 描述: 表达式1一般为一个关系表达式. ...

  7. ASP.NET Core 3.0 使用AspectCore-Framework实现AOP

    AspectCore是适用于Asp.Net Core 平台的轻量级Aop(Aspect-oriented programming)解决方案,它更好的遵循Asp.Net Core的模块化开发理念,使用A ...

  8. rabbitmq 实现多个消费队列

    1.将消费程序复制重新生成一个. 2.channel.BasicQos(0, 1, false); 空闲的先消费

  9. 让你的项目使用Ts吧

    推荐在这里阅读 9012年都过半了,还不会用ts你就out了 why ? 三大框架angular2以后的版本完全是用ts开发的, vue对ts的支持也越来越好, React也有TSX组件 还在犹豫什么 ...

  10. Java基础回顾——反射+案例

    一,引言: 从大二刚开始接触java,了解其基本语法,到用swing编写图形界面的程序,到JavaWeb用SSH三大框架编写小网站,后面又学SSM,SpringBoot,SpringCloud等.可以 ...