Как мне интерпретировать. /glow.min.js?v = 5

#javascript #jquery

#javascript #jquery

Вопрос:

Пожалуйста, скажите мне, что означает /glow.min.js?v = 5, Как это используется? то есть Как здесь выполняется управление версиями, поскольку файл един.

Ответ №1:

Это означает захват glow.min.js из корня сервера с упрощенной попыткой управлять кэшированием с помощью строки запроса.

Строка запроса ничего не делает, если сервер не настроен на ее обработку, чего обычно нет, и поэтому сервер просто выбрасывает строку запроса. Иногда это делается для управления кэшированием. Теоретически, если ресурс доставляется с помощью HTTP 1.1 (поскольку ресурсы HTTP 1.0 со строками запроса не кэшируются), браузеру разрешается повторно использовать ресурс, если строка запроса совпадает, но если вы измените его на v=6 , то ожидается, что браузер повторно извлечет ресурс (предположительно, вы изменили базовый файл).

Существуют лучшие способы управления кэшированием, чем строки запроса. В этой статье подробно рассказывается о том, что делает этот код, и альтернативах для выполнения этого другими способами. Некоторые избранные моменты, сделанные в статье:

  • Создайте кеши для хранения изображений и страниц, которые не меняются часто, используя Cache-Control: max-age заголовок с большим значением.
  • Заставьте кэши распознавать регулярно обновляемые страницы, указав соответствующее время max-age или срок действия.
  • Если ресурс (особенно загружаемый файл) изменяется, измените его имя. Таким образом, вы можете сделать так, чтобы срок его действия истекал далеко в будущем, и при этом гарантировать, что будет предоставлена правильная версия; страница, которая ссылается на нее, является единственной, которой потребуется короткое время истечения срока действия.

Но прочитайте статью для получения гораздо большего понимания.

Последний пункт «если ресурс изменяется, измените его имя» должен быть особенно простым в вашем случае, поскольку я предполагаю, что вы ссылаетесь на библиотеку Glow BBC, у которой уже будет версия, которую вы могли бы использовать в основном URL (а не в строке запроса).

Я просто добавлю свою точку зрения:

  • Воспользуйтесь преимуществами CDN, когда сможете. Я немного удивлен, увидев, что этой библиотеки нет в списке библиотек Google Ajax, но, похоже, ее там нет. Вы могли бы проверить в группе обсуждения Glow, размещена ли библиотека где-нибудь на CDN (в конце концов, библиотека Google не единственная).

Комментарии:

1. ОК. Спасибо. Означает, что часть запроса в основном предназначена для удаления кэширования. Каковы другие способы?

2. @001priank: Хорошая мысль, я только что сделал ссылку на статью, но я должен скопировать небольшой объем содержимого, чтобы ответ оставался полезным, даже если статья исчезнет. Я сделаю это.