Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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/');
@bloyot
Copy link

bloyot commented Feb 11, 2013

Thanks so much! Exactly what I was looking for.

@yooodooo
Copy link

yooodooo commented Mar 30, 2013

helpful,thanks!

@akochepasov
Copy link

akochepasov commented Apr 6, 2013

Great and simple! Thank you.

@gbmhunter
Copy link

gbmhunter commented Oct 2, 2013

Thanks for this! Chrome causes this issue.

@pavelnikolov
Copy link

pavelnikolov commented Dec 6, 2013

If you are using express you can do it like this

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

@flpms
Copy link

flpms commented Jul 3, 2014

Great Solution without express! Thanks!

@radicalsauce
Copy link

radicalsauce commented Oct 9, 2014

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

@SarasArya
Copy link

SarasArya commented Jun 14, 2015

Thanks... Once again.

@SC7639
Copy link

SC7639 commented Sep 24, 2015

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

@jcabasc
Copy link

jcabasc commented Mar 11, 2016

πŸ‘

@Shenglian
Copy link

Shenglian commented Apr 5, 2016

thanks for sharing πŸ‘

@ronak-8699
Copy link

ronak-8699 commented Apr 7, 2016

Great !!!!!

@kstarzyk
Copy link

kstarzyk commented May 11, 2016

Nice one, thanks

@scc0309
Copy link

scc0309 commented May 30, 2016

God Bless you~

@mattiaerre
Copy link

mattiaerre commented Aug 26, 2016

if you are interested I made and express middleware based on this gist; you can find it here: https://github.com/mattiaerre/express-favicon-short-circuit

// cc @kentbrew

@damirkotoric
Copy link

damirkotoric commented May 12, 2017

Worth noting that this only works if you call return form the main app.js file. I put the above code in a separate router.js file, and it didn't work as expected.

@DivideBySara
Copy link

DivideBySara commented Jul 29, 2017

@damirkotoric Where would I call return from my server.js file? I'm new to backend Node.js. Installing @mattiaerre 's express-favicon-short-circuit middleware did not help, and I've already posted to stackoverflow.com, so I am on the hunt for answers to this favicon problem. This is the project I'm working on.

@Fraasi
Copy link

Fraasi commented Nov 13, 2017

Hallelujah!!!

@TeamParkIt
Copy link

TeamParkIt commented May 24, 2018

Thanks a million. This was driving me insane

@YaninaProtskaya
Copy link

YaninaProtskaya commented Jul 19, 2018

Thank you very much! ^_^

@vikkrantxx7
Copy link

vikkrantxx7 commented Jul 30, 2018

Thanks so much .. I was wondering why my page's visitor count was increasing twice on a single request.

@varun-manjunath
Copy link

varun-manjunath commented Nov 8, 2018

I read up on StackOverFlow that 204 (No Content) is a better response status than 200 (Success) for silencing the favicon problem! Just saying. good solution, I just like the semantics implied by status 204. :)

@woody180
Copy link

woody180 commented Apr 13, 2019

Great approach. Thank you

@Michael-Yimam
Copy link

Michael-Yimam commented May 4, 2019

Thank You.

@lucierabahi
Copy link

lucierabahi commented Sep 16, 2019

πŸ‘ Thanks!

@rhernandog
Copy link

rhernandog commented Dec 1, 2019

Still useful, thanks good Sir!!! πŸ‘ πŸ‘

@skirankumar7
Copy link

skirankumar7 commented Feb 4, 2020

Thanks much πŸ‘ πŸ‘ πŸ‘

@leomiranda
Copy link

leomiranda commented Feb 2, 2021

Great man, thank you!

@Alik64
Copy link

Alik64 commented May 2, 2022

Exactly what i was looking for! Thanks ! πŸ‘

@Piggyback13
Copy link

Piggyback13 commented May 2, 2022

nice cock! ugh ugh I mean work :)

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