Назад | Перейти на главную страницу

Почему Android не кэширует значки Apple Touch?

Я не уверен, применимо ли это ко всем телефонам Android, но похоже, что многие браузеры Android не кэшируют значок Apple Touch и перезагружают его при каждом просмотре страницы.

У меня в <head> моих HTML-страниц:

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

В моих журналах сервера я вижу много посетителей с клиентов Android, которые продолжают запрашивать файл значка при каждом просмотре страницы:

[02/Jan/2014:16:21:43 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
[02/Jan/2014:16:22:04 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
[02/Jan/2014:16:22:30 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
[02/Jan/2014:16:22:45 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
[02/Jan/2014:16:23:03 +0100] "GET /path/to/icon.jpg HTTP/1.1" 200 13017 "-" "Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; GT-I9100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"

Я видел это с версиями Android 4.1, 4.2 и 4.3. Мой сервер отправляет Expires заголовок, поэтому кеширование должно работать нормально:

$ date -u
Thu Jan  2 15:28:49 UTC 2014
$ curl -s -D - www.mywebsite.com/path/to/icon.jpg -o /dev/null
HTTP/1.1 200 OK
Date: Thu, 02 Jan 2014 15:28:52 GMT
Server: Apache/2.2.16 (Debian)
Last-Modified: Mon, 30 Dec 2013 14:04:44 GMT
ETag: "15201cd-316b-4eec0ecfd5700"
Accept-Ranges: bytes
Content-Length: 12651
Cache-Control: max-age=900
Expires: Thu, 02 Jan 2014 15:43:52 GMT
Content-Type: image/jpeg

Эти клиенты также успешно кэшируют CSS и другие файлы.

Кто-нибудь видел это раньше? В чем причина? Это просто ошибка браузера Android?