получение связанных js-файлов: какой смысл добавлять? t = B48E5AB - PullRequest
1 голос
/ 02 июня 2011

Я использую CKEditor, который является многофайловой библиотекой, поэтому основной файл js вызывает другие файлы js и css.Я замечаю, что после вызова основного файла к дополнительным файлам добавляется ?t=CODE, поэтому что-то вроде этого, но у реальных файлов нет этого дополнительного ?t=B49E5BQ в конце.

http://site.com/ckeditor/config.js?t=B49E5BQ
http://site.com/ckeditor/extra.js?t=B49E5BQ

Какой смысл этого

PS Пожалуйста, не стесняйтесь добавлять дополнительные теги, потому что я не уверен в этом.

Ответы [ 5 ]

4 голосов
/ 02 июня 2011

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

Всякий раз, когда вы меняете ресурс, вы меняете код в HTMLфайлы / шаблоны, которым требуется этот ресурс, чтобы клиенты повторно запрашивали ресурс с сервера при следующей загрузке страницы.

1 голос
/ 02 июня 2011

Я полагаю, что параметр URL добавлен для обхода любых механизмов кэширования. Когда клиент видит тот же URL-адрес с другим параметром запроса, это обычно означает, что клиент не может использовать кэшированную версию ресурса (в данном случае файл JS) и перейти на сервер для получения последней версии.

В HTTP, если URL-адрес одинаков во всех отношениях, кроме параметров URL-адреса, клиент не может предположить, что эти файлы / ресурсы являются одним и тем же результирующим объектом.

Что означает:

http://site.com/ckeditor/config.js?t=B49E5BQ


не совпадает с:

http://site.com/ckeditor/config.js?t=1234
1 голос
/ 02 июня 2011

Часто это проще, чем, скажем, изменить имя файла, указав номер версии (jquery-1.6.2.js работает хорошо, но хотите ли вы каждый раз переименовывать config.js в config-1.0.js, -2.0 и т. Д.Вы вносите изменения?

Как и все остальные ответы, это просто заставляет браузер получать последнюю версию при изменении строки запроса (?t=B49E5BQ). В нашем случае мы просто добавляем дату (?06022011).

1 голос
/ 02 июня 2011

Я делаю это время от времени для изображений и файлов сценариев. В моем случае это бессмысленный аргумент (обычно datetime), который заставляет браузер каждый раз получать новую копию.

Если параметр продолжает изменяться, эти файлы не будут кэшироваться на стороне клиента.

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