Mobile app version of vmapp.org
Login or Join
Karen161

: Some Android browsers don't cache Apple Touch Icons Looking at my server logs, I found quite a few Android clients that don't cache the Apple Touch Icon and reload it on every page view. I

@Karen161

Posted in: #Android #Cache #Favicon

Looking at my server logs, I found quite a few Android clients that don't cache the Apple Touch Icon and reload it on every page view.

I have the following in the <head> of my HTML pages:

<link rel="apple-touch-icon" sizes="152x152" href="/touch-icon.jpg" />


In my server logs, I see many visitors from Android clients that keep requesting the icon file on every single page view, sometimes even multiple times per page view:

[23/Jan/2017:09:23:42 +0100] "GET /page1.html HTTP/1.1" 200 7468 "http://www.google.de/" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:23:42 +0100] "GET /asset1.ttf HTTP/1.1" 200 2141 "http://example.com/page1.html" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:23:46 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:23:46 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:23:46 +0100] "GET /asset2.ico HTTP/1.1" 200 1518 "http://example.com/page1.html" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:23:46 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:11 +0100] "GET /page2.html HTTP/1.1" 200 6873 "http://example.com/page1.html" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:14 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:14 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:14 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:41 +0100] "GET /page3.html HTTP/1.1" 200 7469 "http://www.google.de/" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:43 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"
[23/Jan/2017:09:24:43 +0100] "GET /touch-icon.jpg HTTP/1.1" 200 13008 "-" "Mozilla/5.0 (Linux; Android 5.1; MEDION X6001 Build/MEDION-X6001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36"


My server sends an Expires header, so caching should work fine:

$ date -u
Fri Jan 27 17:57:15 UTC 2017
$ curl -s -D - example.com/touch-icon.jpg -o /dev/null
HTTP/1.1 200 OK
Date: Fri, 27 Jan 2017 17:57:16 GMT
Server: Apache/2.4.18 (Ubuntu)
Last-Modified: Tue, 12 Apr 2016 12:49:37 GMT
ETag: "316b-530491800ba40"
Accept-Ranges: bytes
Content-Length: 12651
Cache-Control: max-age=900
Expires: Fri, 27 Jan 2017 18:12:16 GMT
Content-Type: image/jpeg


These clients cache CSS and other files successfully. I noticed this issue about three years ago. It seems to affect


all Android versions up to 7.0,
all kinds of devices,
multiple network providers,
different Webkit-based browsers.


Mobile Firefox is unaffected. Has anyone else seen this? What's the reason?

10% popularity Vote Up Vote Down


Login to follow query

More posts by @Karen161

0 Comments

Sorted by latest first Latest Oldest Best

Back to top | Use Dark Theme