重定向

Falcon定义了一组异常,这些异常可以在中间件方法、钩子或响应程序中引发,以触发对客户端的3xx(重定向)响应。以类似于引发实例或子类的方式引发这些类之一的短路请求处理 HTTPError .

exception falcon.HTTPMovedPermanently(location, headers=None)[源代码]

301永久移动。

301(永久移动)状态代码表示目标资源已被分配一个新的永久URI。

备注

出于历史原因,用户代理可以将请求方法从POST更改为GET以用于后续请求。如果不希望出现这种行为,可以改用308(永久重定向)状态代码。

(另见: RFC 7231, Section 6.4.2

参数:

location (str) -- 要在响应中作为位置头提供的URI。

exception falcon.HTTPFound(location, headers=None)[源代码]

找到302。

302(找到)状态代码指示目标资源临时驻留在不同的URI下。由于重定向有时可能会被更改,客户机应该继续为将来的请求使用有效的请求URI。

备注

出于历史原因,用户代理可以将请求方法从POST更改为GET以用于后续请求。如果不希望出现这种行为,可以改用307(临时重定向)状态代码。

(另见: RFC 7231, Section 6.4.3

参数:

location (str) -- 要在响应中作为位置头提供的URI。

exception falcon.HTTPSeeOther(location, headers=None)[源代码]

303见其他。

303(请参阅其他)状态代码表示服务器正在将用户代理重定向到 不同的 资源,如location header字段中的一个uri所示,该字段用于对原始请求提供间接响应。

对GET请求的303响应表示源服务器没有可以通过HTTP传输的目标资源的表示。但是,响应中的位置头可能被取消引用,以获得替代资源的表示。收件人可能会发现此备选方案很有用,即使它不代表原始目标资源。

备注

location header字段中的新URI不被认为等同于有效的请求URI。

(另见: RFC 7231, Section 6.4.4

参数:

location (str) -- 要在响应中作为位置头提供的URI。

exception falcon.HTTPTemporaryRedirect(location, headers=None)[源代码]

307临时重定向。

307(临时重定向)状态代码表示目标资源临时驻留在不同的URI下,如果用户代理执行到该URI的自动重定向,则不得更改请求方法。由于重定向会随着时间的推移而改变,客户机应该继续为将来的请求使用原始的有效请求URI。

备注

此状态代码类似于302(已找到),但不允许将请求方法从POST更改为GET。

(另见: RFC 7231, Section 6.4.7

参数:

location (str) -- 要在响应中作为位置头提供的URI。

exception falcon.HTTPPermanentRedirect(location, headers=None)[源代码]

308永久重定向。

308(永久重定向)状态代码表示已为目标资源分配了新的永久URI。

备注

此状态代码类似于301(永久移动),但不允许将请求方法从POST更改为GET。

(另见: RFC 7238, Section 3

参数:

location (str) -- 要在响应中作为位置头提供的URI。