Я хотел знать, как использование случайного числа имеет значение при включении в имя файла, на которое ссылается html.

Чем первая строка кода отличается от второй?

<script src="index.js?1481269289258"></script>

<script src="index.js"></script>

Любые подробности / информация об этом помогут.

Спасибо всем большое.

0
allenjoel 23 Дек 2016 в 09:44
1
Ознакомьтесь с этим ответом. stackoverflow.com/questions/23603023 /…
 – 
0xcaff
23 Дек 2016 в 09:47
Номер обычно имеет форму отметки времени или версии unix. Это добавлено, чтобы заставить веб-браузер загрузить новую (свежую) копию файла, поскольку foo.js?12345 - это другой файл, чем foo.js?12346, браузер повторно загрузит foo.js обновленную копию, заменив локально кэшированная версия, если таковая имеется. Это действительно хитрость, чтобы обманом заставить браузеры перезагрузить ваш скрипт, когда они слишком упрямы, чтобы отказаться от старой копии.
 – 
Kraang Prime
23 Дек 2016 в 09:49

2 ответа

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

2
rofls 23 Дек 2016 в 09:54
... или чтобы гарантировать, что только последняя версия скрипта кэшируется (не заставляя браузер кэшировать, а отбрасывать старую версию, если у нее была кешированная копия, и обновлять ее новой версией) - на самом деле это не так предотвратить кеширование. просто обходит упорство кешей браузера в большинстве случаев.
 – 
Kraang Prime
23 Дек 2016 в 09:50
Да, безусловно. Хотя здесь вы обычно используете систему управления версиями, а не случайное число или строку.
 – 
rofls
23 Дек 2016 в 09:51
Рандом в этом случае не поможет :)
 – 
rofls
23 Дек 2016 в 09:52
1
Правильно :) (также подправил мой комментарий выше)
 – 
Kraang Prime
23 Дек 2016 в 09:52
Спасибо ребята. Так что в основном это кеш-бастер?
 – 
allenjoel
23 Дек 2016 в 09:57

Случайное число заставляет навигатор перезагрузить скрипт. В противном случае он может запустить сценарий в кеше.

1
Fred B 23 Дек 2016 в 09:46