Готовый перевод Best Practices for Speeding Up Your Web Site / Рекомендации лучших вебоводов для ускорения вашего сайта: Make Ajax Cacheable / Кешируйте Ajax

Одним из часто упоминаемых преимуществ Ajax является его мгновенный фидбек к пользователю, так как он асинхронно запрашивает информацию с веб-сервера. Однако, использование Ajax не гарантирует того, что пользователь будет сидеть сложа руки в ожидании того самого асинхронного ответа. Во многих приложениях ожидание пользователя зависит от способа использования Ajax. Например, в почтовых клиентах пользователю приходится ожидать результатов поиска согласно выбранным критериям поиска. Важно помнить, что "асинхронный" не означает "мгновенный".

Для улучшения производительности важно оптимизировать ответы Ajax. Одним из действенных способов улучшения производительности является кеширование ответов, как обсуждается в «Add an Expires or a Cache-Control Header». Некоторые из других правил также применимы к Ajax:

Сжимайте компоненты
Уменьшайте DNS-запросы
Минифицируйте Javascript
Избегайте редиректов
Настраивайте ETags

Давайте посмотрим на пример. Web-2.0 почтовый клиент может использовать Ajax для загрузки пользовательской книги адресов для автозаполнения. Если пользователь не вносил в книгу изменения после последнего использования приложения, предыдущий ответ от адресной книги может быть взят из кеша, если ответ Ajax был закеширован с помощью установки срока истечения, либо поля Cache-Control заголовка. Это может быть сделано с помощью добавления к адресу вызова времени последней модификации адресной книги, например &t=1190241612. Если адресная книга не изменялась со времени последней загрузки, время в адресе будет то же и книга будет взята из браузерного кеша, избежав повторного обращения. Если же пользователь изменил книгу, то время в адресе укажет на отличие от адреса, содержащегося в кеше, и браузер запросит измененные записи адресной книги.

Даже если ваши Ajax-ответы генерируются динамически и относятся только к одному пользователю, они могут быть закешированы. Это сделает ваши Web-2.0 приложения еще быстрее.

Переведено на Нотабеноиде
http://notabenoid.org/book/31735/110127

Переводчики: Alexasa

Настройки

Готово:

100.00% КП = 1.0