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以字符串的形式返回回去

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

  • 相关阅读:
    多级指针类型
    核心转储(core dump)
    地址总线
    eda soa
    QT信号槽简易分析_如何查看与分析QT的源码实现
    The Meta-Object System Signals & Slots 信号槽机制
    可重入 threadsafe reentrant nonreentrant
    秘钥文件
    服务启动基本
    格言
  • 原文地址:https://www.cnblogs.com/chnmig/p/10119224.html
Copyright © 2011-2022 走看看