Администратор Django пользовательский порядок загрузки JavaScript

Простая Клиентская Техника

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

у Общих посетителей Вашего веб-сайта не будет того же опыта, который Вы имеете при разработке сайта. Так как средний посетитель приезжает в сайт менее часто (возможно, только несколько раз каждый месяц, если Вы не будете Google или hi5 Сетями), тогда у них, менее вероятно, будут Ваши файлы в кэше, и это может быть достаточно. Если Вы хотите вызвать новую версию в браузер, можно всегда добавлять строку запроса к запросу и увеличивать номер версии при внесении существенных изменений:

<script src="/myJavascript.js?version=4"></script>

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

, С другой стороны, при разработке веб-сайта Вы не хотите изменять номер версии каждый раз, когда Вы сохраняете изменение в своей версии разработки. Это было бы утомительно.

Поэтому при разработке сайта хороший прием должен был бы автоматически генерировать параметр строки запроса:

<!-- Development version: -->
<script>document.write('<script src="/myJavascript.js?dev=' + Math.floor(Math.random() * 100) + '"\><\/script>');</script>

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

также стоит отметить, что браузер является не обязательно скаредным о хранении файлов в кэше. Браузеры имеют политики для этого вида вещи, и они обычно играют по правилам, установленным в Спецификации HTTP. То, когда браузер выполняет запрос к серверу, часть ответа, ИСТЕКАЕТ заголовок.. дата, которая говорит браузер, сколько времени это должно быть сохранено в кэше. В следующий раз, когда браузер сталкивается с запросом на тот же файл, он видит, что имеет копию в кэше и смотрит, ИСТЕКАЕТ дата, чтобы решить, должен ли он использоваться.

Так, хотите верьте, хотите нет, на самом деле Ваш сервер делает тот кэш браузера настолько персистентным. Вы могли скорректировать свои настройки сервера и измениться, ИСТЕКАЕТ заголовки, но мало техники, которую я записал выше, является, вероятно, намного более простым способом для Вас пойти об этом. Так как кэширование хорошо, Вы обычно хотите назначить ту дату далеко в будущее ("далекое будущее Истекает Заголовок"), и используйте технику, описанную выше для принуждения изменения.

, Если Вы интересуетесь большим количеством информации о HTTP или как эти запросы выполнены, хорошая книга является "Высокопроизводительными веб-сайтами" Steve Souders. Это - очень хорошее введение в предмет.

12
задан sjh 22 July 2009 в 11:00
поделиться