правильно обрабатывать 404 в выражениях - PullRequest
0 голосов
/ 12 января 2012

Немного озадачен тем, как лучше всего обрабатывать 404 случая в моем приложении.Вот суть очень простого примера.

//******************************
// BUILD THE HTTP SERVER
//******************************
var express = require('express');
var app = express.createServer();

app.get('/login', function(req, res){
  console.log("hit the login");
  res.send('you hit the login');
});

app.get('*', function(req, res){
  console.log("got a 404");
  res.send('what???', 404);
});

app.listen(8081);
console.log('Server started on port: 8081');

Если я запускаю сервер и нажимаю на индекс сервера "/" Я правильно получаю сообщение 404, ОДНАКО, в журналах находятся 2 "полученные записи 404" на консоли... odd.

Так что, если я перехожу на страницу "/ login", я получаю правильную страницу и соответствующее сообщение для консоли, НО, ТАКЖЕ я также получаю сообщение 404 для консоли?

Это ожидаемое поведение?Я использую последнюю версию 2.5.4 Express на 4.11, но попробовал его на других версиях узла с теми же результатами.

Мне не очень нравится тот факт, что мой маршрут 404 вызывается при каждом запросе, я, должно быть, делаю что-то не так.

1 Ответ

3 голосов
/ 12 января 2012

Вероятно, это связано с тем, что браузер пытается также получить favicon для вашей страницы.

Просто используйте express.favicon(), создав свой сервер:

express.createServer(
  express.favicon()    
);

Возможно, вы захотитеиспользовать logger, чтобы обнаружить нечто подобное, это действительно полезное промежуточное ПО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...