Для этого вам не нужен доступ к клиентским машинам. Все лучшие практики относятся к серверу:
- GZip все;
- Свернуть все Javascript и CSS;
- Минимизируйте количество внешних HTTP-запросов. Попытайтесь сохранить их, скажем, в 1-5 файлах JS, 1-5 файлах CSS и нескольких изображениях. Если у вас много изображений, вы можете использовать CSS spriting ;
- Версия ваших изображений, CSS и Javascript; и
- Использовать заголовок Far Futures Expires для всех изображений, CSS и Javascript.
Последние два пункта означают, что содержимое кэшируется до тех пор, пока оно не изменится. Вы можете использовать фактический номер версии для официальных выпусков (например, jquery-1.4.2.min.js, 1.4.2 - это номер версии). Для кода для вашего собственного приложения часто вы будете использовать что-то вроде mtime (время последнего изменения) файла в качестве строки запроса. Например:
<script type="text/javascript" src="/js/code.js?1233454356"></script>
После того, как ?
сгенерировано из измененного времени файла. Клиент загружает его один раз, и из-за далекого будущего заголовка Expires
он не будет загружен снова, пока не изменится номер версии, что не произойдет, пока файл не изменится.