Python - Tornado:如何为favicon返回404而不是500

时间:2016-03-11 07:47:14

标签: python tornado favicon ico

每次我在Chrome中运行我的代码。它返回两个请求。第二是favicon.ico

但是Favicon.ico的内容类型是text / html,状态是500

如何将其状态更改为404

我没有favicon.ico,我不想

IMAGE

2 个答案:

答案 0 :(得分:3)

你得到500,可能是因为/favicon.ico匹配不同的路线(例如,模板没有必要的参数)。

@Daniel B.回答没问题,(某些)浏览器不会请求图标 - 完整的信息可以在How to prevent favicon.ico requests?找到。另外,我会将ErrorHandler路由添加到服务器404。

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def make_app():
    return tornado.web.Application([
        (r"/favicon.ico", tornado.web.ErrorHandler, {'status_code': 404}),
        (r".*", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

Apple设备也要求apple-*ico,您也可以发送404。

答案 1 :(得分:2)

不确定为什么你会得到一个500,但如果你根本不想要一个favicon,你可以在你的htmls头上加一个空的吗?

<link rel="shortcut icon"type="image/x-icon" href="data:image/x-icon;,">