Needy browsers, favicons and touch icons

My website has no favicon. There is no logo that represents me and frankly I can’t be bothered. What’s more, I don’t have an apple touch icon. In case you’re not familiar with these, it’s like a favicon except a larger PNG that Apple things will use to represent your webpage if it’s bookmarked in Safari or added to the home screen.

I learnt about the latter after I published a small tool to help Russian learners query Wiktionary. While it’s never been wildly popular, it’s useful enough that several iOS users decided to bookmark it. That’s a slightly weird thing for me to say—how on earth do I know that? Well, because Safari gets impatient with a bookmarked website that refuses to cough up some sort of icon. It will hammer that website with requests on an regular basis. The small number of visitors who did this have had an outsized influence on my web logs, which is how I realised this was happening.

This one IP is hitting me with a batch of 11 requests from Safari several times per day:

[06/Nov/2019:19:10:32 +0000]|thomask.sdf.org|/ru-declensions/index.htm|217.118.xxx.xxx|26939|0|200|-|Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1
[06/Nov/2019:19:10:35 +0000]|thomask.sdf.org|/apple-touch-icon-120x120-precomposed.png|217.118.xxx.xxx|380|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:36 +0000]|thomask.sdf.org|/apple-touch-icon-120x120.png|217.118.xxx.xxx|368|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:36 +0000]|thomask.sdf.org|/apple-touch-icon-precomposed.png|217.118.xxx.xxx|372|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:37 +0000]|thomask.sdf.org|/apple-touch-icon.png|217.118.xxx.xxx|360|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:37 +0000]|thomask.sdf.org|/favicon.ico|217.118.xxx.xxx|351|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:37 +0000]|thomask.sdf.org|/apple-touch-icon-120x120-precomposed.png|217.118.xxx.xxx|380|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:38 +0000]|thomask.sdf.org|/apple-touch-icon-120x120.png|217.118.xxx.xxx|368|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:38 +0000]|thomask.sdf.org|/apple-touch-icon-precomposed.png|217.118.xxx.xxx|372|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:38 +0000]|thomask.sdf.org|/apple-touch-icon.png|217.118.xxx.xxx|360|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[06/Nov/2019:19:10:38 +0000]|thomask.sdf.org|/favicon.ico|217.118.xxx.xxx|351|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:01 +0000]|thomask.sdf.org|/ru-declensions/index.htm|217.118.xxx.xxx|26939|0|200|-|Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1
[07/Nov/2019:10:27:03 +0000]|thomask.sdf.org|/apple-touch-icon-120x120-precomposed.png|217.118.xxx.xxx|380|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:03 +0000]|thomask.sdf.org|/apple-touch-icon-120x120.png|217.118.xxx.xxx|368|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:04 +0000]|thomask.sdf.org|/apple-touch-icon-precomposed.png|217.118.xxx.xxx|372|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:04 +0000]|thomask.sdf.org|/apple-touch-icon.png|217.118.xxx.xxx|360|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:05 +0000]|thomask.sdf.org|/favicon.ico|217.118.xxx.xxx|351|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:05 +0000]|thomask.sdf.org|/apple-touch-icon-120x120-precomposed.png|217.118.xxx.xxx|380|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:06 +0000]|thomask.sdf.org|/apple-touch-icon-120x120.png|217.118.xxx.xxx|368|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:06 +0000]|thomask.sdf.org|/apple-touch-icon-precomposed.png|217.118.xxx.xxx|372|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:06 +0000]|thomask.sdf.org|/apple-touch-icon.png|217.118.xxx.xxx|360|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0
[07/Nov/2019:10:27:07 +0000]|thomask.sdf.org|/favicon.ico|217.118.xxx.xxx|351|0|404|-|MobileSafari/604.1 CFNetwork/978.0.7 Darwin/18.7.0

According to my own testing this traffic isn’t tied to visiting the page itself, but rather when you go to open a new tab and Safari presents your list of favourites. Without meaning to, I’m tracking the Safari usage of some random person who happened to bookmark my page.

The good news is it seems to be cached… for at least an hour. And then, according to my logs, it may ask again. How nice.

If I added a page to my browser’s favourites, I would not expect it to contact that website every day regardless of whether or not I’m using it.