Create a gist now

Instantly share code, notes, and snippets.

How to short-circuit those annoying favicon requests in node.js
// early experiments with node had mysterious double requests
// turned out these were for the stoopid favicon
// here's how to short-circuit those requests
// and stop seeing 404 errors in your client console
var http = require('http');
http.createServer(function (q, r) {
// control for favicon
if (q.url === '/favicon.ico') {
r.writeHead(200, {'Content-Type': 'image/x-icon'} );
r.end();
console.log('favicon requested');
return;
}
// not the favicon? say hai
console.log('hello');
r.writeHead(200, {'Content-Type': 'text/plain'} );
r.write('Hello, world!');
r.end();
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');
@shilov

Simple and sweet, thanks for sharing!

@kentbrew
Owner

Glad it was useful!

@shilov

In case someone stumbles upon this in the future.. If you are running nginx in front of node.js you can also block favicon requests by adding this line:

location = /favicon.ico { access_log off; log_not_found off; }
@kentbrew
Owner

Wonderful, thanks.

@jimthedev

This was very helpful. Thank you.

@leandrodeleite

Thanks!

@billyeh

Thanks. This is exactly what I was looking for. Wish there were more useful, small code snippets like this around the Net.

@bloyot

Thanks so much! Exactly what I was looking for.

@yooodooo

helpful,thanks!

@akssnsk

Great and simple! Thank you.

@gbmhunter

Thanks for this! Chrome causes this issue.

@pavelnikolov

If you are using express you can do it like this

app.use(express.favicon(__dirname + '/public/favicon.ico'));
@flpms

Great Solution without express! Thanks!

@radicalsauce

Thank you! Exactly what I was looking for. πŸ‘

@SarasArya

Thanks... Once again.

@SC7639

Thanks that's what I was looking for πŸ‘

@jcabasc

πŸ‘

@Shenglian

thanks for sharing πŸ‘

@ronak-8699

Great !!!!!

@kstarzyk

Nice one, thanks

@scc0309

God Bless you~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment