2015-07-09 5 views
0

Недавно я обратил внимание на то, что мой сайт медленно загружается. Я хотел бы позаботиться об этом частично с веб-кешированием. У меня есть глубокий опыт работы с кешами микропроцессора L1, но когда дело доходит до кеша браузера, мои знания о тайниках внезапно прекращаются. Это приводит к моему вопросу, который состоит из двух частей:Кэширование браузера?

  1. Как я могу кэшировать всю страницу html в браузере?
  2. Как я могу кэшировать одно изображение в браузере, например, логотип?

Я использую expressjs как свой язык сервера и нефрит как язык шаблонов.

Примечание, я был бы признателен за объяснение любых ответов.

ответ

0

У JavaScript есть функция предварительной загрузки, которая может сделать это за вас; однако скорость не будет действительно более быстрой, в целом. Все еще нужно скачать посетителю. Лучше настроить скорость загрузки, уменьшив избыток.

Удалите любые навороты из кода, свести к минимуму как можно больше и убедитесь, что изображения, которые вы используете, на самом деле являются тем размером, который у вас есть в браузере. Если вы используете 5MB-изображение, но измените его размер в формате HTML до 320x240, ему все равно придется отправить всего 5 МБ посетителю, прежде чем изображение отобразится.

1

Благодаря обширному сообществу для узла и экспресс, к счастью, уже доступно простое решение.

var oneDay = 86400000; 
app.use(compress()); //npm install compression --compresses server response 
//maxAge for cache storage 
app.use(express.static(__dirname + '/css/backgrounds', {maxAge: oneDay})); 
app.use(express.static(__dirname + '/icons', {maxAge: oneDay})); 

Непосредственное, значительное улучшение скорости сайта!

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