2015-11-02 2 views
0

Я analayzed сетевых запросов при загрузке букмарклет и это то, что я видел:Почему bit.ly шифрует имя своих файлов javascript?

enter image description here

Один из файлов lodash, которые я могу видеть, просто посмотрев на него.

Я знаю, что git хранит некоторые файлы из хешей, но зачем отправлять их клиенту таким образом?

+2

«Шифровать» означает, что кто-то собирается * расшифровать * его, что я сомневаюсь. Скорее всего, это просто элегантный способ кэширования файлов и обеспечение того, что вы никогда не используете устаревшую версию, так как * имя файла является хешем его содержимого *; Или что-то вдоль этих линий. – deceze

ответ

2

Это приведет к обновлению кеша, когда веб-сайт опубликует новые активы.

Это позволяет вам кэшировать f85.js в течение очень долгого времени. то при изменении активов у вас есть новый хеш, который заставит браузер загружать более новую версию.

Это почти то же самое, что и добавление параметра get (например, somefile.js?hash=a34d). Но имена файлов позволяют разворачивать, чтобы умножать узлы без простоя. Во время развертывания вы хотите, чтобы каждая версия ваших активов была доступна на вашем CDN. Это связано с тем, что пока развертывание не будет завершено, некоторые пользователи получат доступ к старой версии, а некоторые к новой. Таким образом, вам абсолютно необходимы ваши старые активы для пользователей, которые все еще получают доступ к узлам, использующим более старую версию вашего приложения. Хеш заставляет одно имя файла, что означает, что вы должны принести свое приложение во время развертывания, иначе пользователи, обращающиеся к старым версиям, рискуют сломать активы.

+0

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

+0

@cadegalt Да, но имена файлов более удобны для использования с CDN. Но да, это так же, как добавление параметра get. –

+0

@cadegalt фактически добавил более подробную информацию о том, почему имеет значение имя файла. Для целей кэширования это одно и то же, имя файла на самом деле имеет значение, если у вас есть распределенная система, работающая на нескольких узлах. –

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

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