2016-03-14 2 views
0

Я использую пару шрифтов Google на моем сайте и в соответствии с рекомендациями Google, это то, как я их объявили в моем HTML <head></head> разделе:Проблема написания кэш-валидатор для Google Fonts ресурсов

<link href='https://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'> 
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> 

A тест производительности в GTmetrix рекомендует следующее:

Следующие ресурсы не имеют валидатора кеша. Ресурсы, которые не указывают, что проверка достоверности кеша не может быть эффективно обновлена. Укажите Last-Modified или ETag заголовок включить проверку кэша для следующие ресурсы:

https://fonts.googleapis.com/css?family=Open+Sans:400,700 
https://fonts.googleapis.com/css?family=Oswald 

Мой вопрос, как я могу это сделать? У меня есть все mod_expires и Cache-Control должным образом включен в мои .htaccess для всех расширений файлов, о которых я мог думать, включая woff, ttf и т. Д. Но поскольку эти ресурсы не имеют явного расширения, как показано в <link> теги, как написать Cache-Control и mod_expires запись для них?

ответ

0

Уточняйте Last-Modified или ETag заголовок [...]

для следующих ресурсов: https://fonts.googleapis.com/css?family=Oswald

Мой вопрос, как я могу это сделать?

Вы не можете. Только заголовки этих ресурсов могут управлять только оператором googleapis.com (а именно Google). Это уменьшает ваш контроль, но означает, что Google несет ответственность за загрузку повторяющихся запросов.

ресурсы в вопросе не имеют явное расширение, как показано в <link> теги

В настоящее время, curl -i 'https://fonts.googleapis.com/css?family=Oswald' включает в себя:

Cache-Control: private, max-age=86400 

Это означает, что браузер должен только запросить другую копию после дня.

Полезная нагрузка отклика составляет всего 230 байтов (менее половины размера заголовков HTTP/1.1). При таких размерах a conditional request (Last-Modified или ETag) не быстрее, чем отправка полезной нагрузки.

Эти заголовки кеша не поддаются контролю и хорошо подобранные для этих ресурсов. googleapis.com знает, что он делает; тест производительности, который вы выполняете, предлагает общие рекомендации, которые не подходят в этом случае.