2016-03-11 7 views
-1

Каждый раз, когда я запускаю свой код в Chrome. Он возвращает два запроса. Во-вторых, favicon.icoPython - Tornado: Как вернуть 404 вместо 500 для favicon

Но тип контента favicon.ico является текст/html и статус 500

Как я могу изменить свой статус на 404

я не имею favicon.ico и я не хочу

IMAGE

+0

500 - внутренняя ошибка сервера. – GingerPlusPlus

ответ

3

Вы получаете 500, вероятно, потому, что /favicon.ico матчей другой маршрута (например, с помощью шаблона без необходимого Params).

@ 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-*ico запрошенные устройства Apple, вы можете отправить 404 а.

+0

Спасибо за ответ. Это помогает мне много. Потому что, если у меня нет файла html, и ответ ниже не мог помочь мне. Спасибо снова, я бы хотел, чтобы я мог повышать, но я не могу –

2

не знаю, почему вы получите 500, но если вы не хотите фавиконки вообще может быть, вы могли бы добавить пустую к вашему HTMLs голове?

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

Спасибо, но у меня нет файла html. Потому что я только обрабатываю файлы с их типами mime, поэтому нет html. Но еще раз спасибо –