2010-07-19 3 views
0

При использовании Cache-Control и Expires заголовка так, что страница не истекает через 10 лет:Для контроля кеша, срок действия которого истекает через 10 лет, использует doc.css? V = 128 точно так же, как doc_v128.css?

Cache-Control: max-age=315360000 
Expires: Sun, 19 Jul 2020 18:06:32 GMT 

будет с помощью линии 1 имеет одинаковый результат в виде линии 2?

<link href="/public/doc.css?v=128" ... > 

<link href="/public/doc_v128.css" ... > 

Я думал, может быть, некоторые браузер будет принимать ?v=128 как несколько более динамического контента и перезагрузить его до истечения 10-летнего?

В противном случае оба файла истекут через 10 лет, а когда будут внесены изменения в CSS, 128 может быть обновлен до 129, и он будет загружен наверняка и будет иметь новую 10-летнюю дату истечения срока действия?

(то же самое для JavaScript .js файлов)

ответ

4

Используя изменяющееся значение в строке запроса может работать против вас. По Page Speed ​​Optimize caching Performance Best Practice Google:

Не включать строку запроса в URL для статических ресурсов

Большинство прокси, в первую очередь кальмаров до до версии 3.0, не кэш ресурсов с "?" в своем URL-адресе даже , если в ответе присутствует общий доступ к кэшу: общий заголовок . Чтобы включить кэширование прокси-серверов для этих ресурсов, удалите строки запроса из ссылок в статические ресурсы, а вместо этого закодируйте параметры в файл самим именам.

Кроме того, вы можете пересмотреть 10 лет. Согласно разделу Header Field Definitions > Expires RFC 2616, один год является максимальным.

Чтобы отметить ответ, как «никогда не истекает» сервер происхождения посылает Истекает дату примерно один год с момента ответ посылается. Серверы HTTP/1.1 НЕ ДОПУСКАЕТ Истекает срок действия более , чем год в будущем.

+0

Почему «не должен»? Например, в книге «Высокопроизводительные веб-сайты» главного технического специалиста в Yahoo описывается использование для установки истечения срока до 10 лет с использованием как заголовка «Expires», так и «Cache-Control max-age» –

+0

(имя автора Steve Sounders) –

+2

«Учитывая частоту, с которой пользователи очищают свой кеш и заполняют свой кеш, установка даты истечения срока годности или десяти лет в будущем может не иметь большого значения» - http://developer.yahoo. сеть/блог/архивы/2007/05/high_performanc_2.html –

 Смежные вопросы

  • Нет связанных вопросов^_^