

FWIW - Here's part of the html from the root page of my server: Īnd here's a ESP8266/Arduino code snippet for creating the http header in the response and sending the icon data previously stored as a file using SPIFFS. (Haven't tried any Apple or Android-specific support yet). Checked it with IE, Edge, and Chrome on Windows 10 using an ESP8266-12E running Arduino as a web server on a local network. What matters is, you have to host the favicon externally.įor example, IE11 does not show favicons at all, no matter which site I visit.Īdding Cache-Control:public, max-age=14400 to the http header worked for me. After that I have tested it wit IIS Express and it works there too. It will take some time for Edge to grasp it. Probably you need to repeat this steps, two to three times. I have also setup a hosts entry pointing to my web app in IIS like: 127.0.0.1 Steps: Close the browser, wait 30 seconds and reopen it. There is no naming convention, you can name the favicon whatever you like xyz.png but I guess it has to be 32x32! In the head of the page I set the favicon like this: It works during local testing only if the favicon/png image is hosted !externally!, like. If you don't have a favicon already, you can generate them here or here.


If you use HTTPS, it looks like the certificate has to be valid (trusted) for the favicon to show. The favicon will be cached in Edge, so it will be still visible. To disable loopback again: CheckNetIsolation LoopbackExempt -d -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe" To enable loopback for Edge, run this in PowerShell as Administrator: CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"Įdge restart is not needed - after page refresh (F5), the favicon should be loaded. This seems to affect favicon loading, which is loaded using another means that the web page alone (so, even if the web page works, favicon does not work). Edge cannot access localhost because of some Windows security settingsīy default, Windows store apps cannot use loopback interface. However, if you have some custom solution, you have to implement it manually. The common web servers probably send that header automatically.

this value works: Cache-Control: public, max-age=2592000 It looks like for Edge the web server has to return Cache-Control header for the favicon.Į.g. However, you can make it work on localhost, too.ġ. Both are avoided when deploying to a web server (that's why it started working in another answers after deploying to a web server).
