PEP 3333规范是否阻止Python WSGI Web服务器具有重写规则?

时间:2016-02-01 21:42:35

标签: python url-rewriting wsgi pep

对于Python的WSGI规范的服务器部分,而不是应用程序部分,是不允许服务器重写请求?我问,因为我找不到任何相关的东西。据我所知,Nginx和Apache是​​通用的,所以他们将有一个重写规则引擎(和IIS)。为什么WSGI服务器不具备相同的功能,以便我不必使用正则表达式? PEP-333不允许重写吗?重写不是Python的做事方式吗?

1 个答案:

答案 0 :(得分:1)

如何处理路径不是WSGI服务器职责的一部分。它透明地将请求传递给应用程序,并以同样透明的方式返回生成的响应。这就是标准所描述的内容。

URL重写是服务器可以实现的额外服务,但这与WSGI标准无关。 Apache使用可选模块(mod_rewrite)执行此操作。这是一个受欢迎的功能,因此其他服务器也提供了它。但这并不意味着WSGI标准需要对此做出任何说明,就像HTTP标准没有描述URL重写一样。

如果需要重写路径,可以在WSGI应用程序中轻松完成,或者编写WSGI中间件来执行此操作。 WSGI中间件看起来就像是服务器的WSGI应用程序,就像下一个应用程序的服务器一样。

有人已经为你编写了这样的中间件,请参阅WSGIRewrite project