zoukankan      html  css  js  c++  java
  • Tornado学习笔记(三) 请求方式/状态码

    本章我们来学习 Tornado 支持的请求方式

    请求方式

    Tornado支持任何合法的HTTP请求(GETPOSTPUTDELETEHEADOPTIONS)。你可以非常容易地定义上述任一种方法的行为,只需要在 RequestHandler 类中使用同名的方法。(也就是在视图中定义同名的方法)

    关于请求方式对应的操作和返回码可以参考 http://www.runoob.com/w3cnote/restful-architecture.html 不过具体还是要与业务进行匹配。

    状态码

    使用RequestHandler类的set_status()方法显式地设置HTTP状态码。然而,你需要记住在某些情况下,Tornado会自动地设置HTTP状态码。

    比如如果访问一个无法匹配的路由,则会返回404报错,而且状态码是404

    但是我们在代码中没有指定返回的状态码,常用的有:

      404 Not Found

      Tornado会在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码。

      400 Bad Request

      如果你调用了一个没有默认值的get_argument函数,并且没有发现给定名称的参数,Tornado将自动返回一个400(Bad Request)响应码。

      405 Method Not Allowed

      如果传入的请求使用了RequestHandler中没有定义的HTTP方法(比如,一个POST请求,但是处理函数中只有定义了get方法),Tornado将返回一个405(Methos Not Allowed)响应码。

      500 Internal Server Error

      当程序遇到任何不能让其退出的错误时,Tornado将返回500(Internal Server Error)响应码。你代码中任何没有捕获的异常也会导致500响应码。

      200 OK

      如果响应成功,并且没有其他返回码被设置,Tornado将默认返回一个200(OK)响应码。

     我们也可以自定义错误返回,只需在class中定义一个名为 write_error 的方法

    比如

    def write_error(self, status_code, **kwargs):
            self.write('%s' % status_code)

    该段代码会将 错误code以字符串的形式返回回去

    需要注意的是该方法是写在类中,也就是说该方法只能作用于一个视图。

  • 相关阅读:
    读写文本文件 ---字符行式读取
    【编程之美挑战赛第一场】活动中心
    Jetty开发指导:框架
    Java实现BASE64编解码
    关于BT下载的一点事儿
    R语言学习笔记
    完毕port(CompletionPort)具体解释
    微软2014校园招聘笔试试题
    hdu-4857-逃生-拓扑排序
    概率论高速学习03:概率公理补充
  • 原文地址:https://www.cnblogs.com/chnmig/p/10119224.html
Copyright © 2011-2022 走看看