Кэширование: myscript-1125.js против myscript.js? 1125 - PullRequest
1 голос
/ 16 декабря 2010

Имеет ли какое-то значение, где вы положили версию скрипта? Запросить параметр или путь. Плюсы, минусы?

1 Ответ

0 голосов
/ 16 декабря 2010

Да, есть разница!

Вы захотите сделать его частью имени файла, или некоторые браузеры не кешируют его.

От: http://thinkvitamin.com/code/serving-javascript-fast/

Согласно букве спецификации кэширования HTTP, пользовательские агенты никогда не должны кэшировать URL со строками запроса. Хотя Internet Explorer и Firefox игнорируют это, Opera и Safari не - чтобы убедиться, что все пользовательские агенты могут кэшировать ваши ресурсы, нам нужно сохранить строки запроса их URL

От: http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

Джейкоб Хоффман-Эндрюс упомянул, что популярный прокси-сервер Squid не кэширует ресурсы с помощью строки запроса. Это снижает производительность, когда несколько пользователей за прокси-кешем запрашивают один и тот же файл. - вместо того, чтобы использовать кэшированную версию, каждый должен будет отправить запрос на исходный сервер.

(обратите внимание, что в Squid по умолчанию используется с момента изменения )

Наконец, есть отличный небольшой сервис, который позволит вам "пинговать" страницу в Интернете и проверять "кешируемость" файла (и ресурсов, которые он использует)

Кэшируемость - Проверьте Кэшируемость www.stackoverflow.com

Вы заметите, что файлы CSS и JS, которые обслуживает StackOverflow, имеют версии в строке запроса, и в результате служба сообщает:

Этот объект будет свежим в течение 1 недели. Это можно проверить с помощью Last-Modified. Поскольку он содержит запрос ('?') В URL, многие кэши не сохранят этот объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...