
Однако теперь есть еще одна возможность хранить эти подключаемые файлы. Существуют такие системы как CDN — Content Delivery Networks, которые имеют собственную сеть географически разнесённых серверов, которые подключены к мощным скоростным каналам и находятся поблизости от пользователя, запрашивающего тот или иной файл. Если он хранится в CDN, то отдача файла будет происходить с сервера, который ближе всего к пользователю, а значит — файл загрузится быстрее.
В партнерстве с компанией CacheFly, ExtJS теперь может хранить свои сборки в такой сети. Кроме самих JS файлов хранятся так же и стилевые файлы (ext-all.css, который также достаточно объемный). Более того, теперь создавая собственную сборку фреймворка через веб-интерфейс, вы можете сразу поместить ее в CDN и использовать напрямую, просто поменяв ссылки. Учтите, что если ваш вариант сборки фреймворка уже кем-то используется, то новый файл не будет создаваться, а вам просто выдадут ссылку на уже закешированный.
Конечно, для многих проектов ускорение, достигнутое таким способом, может быть несущественным, ну выиграли мы пол-одну секунду… но поверьте, в борьбе за оптимизацию предела нет, а все, что помогает выиграть хоть самое малое время в работе приложения, будет оценено клиентами.
Я решил не только написать, но и проверить, действительно ли загрузка с серверов CacheFly будет идти быстрее, чем при подключении файла напрямую с сервера проекта.
Честно говоря, грузится не медленнее уж точно. В частности из-за того даже, что загрузка идет с другого хоста, а значит параллельно браузер запрашивает другие файлы, а это важно, так как одновременное количество запросов к одному домену ограничено. Проверяя доступность сайта по пингу, в среднем значения были на уровне или ниже данных для моего сервера, хотя когда я проверял в прошлый раз, различие было значительнее, раза в полтора, на пользу CacheFly. Так что советовать что-то сложно — это надо лично пробовать, однако хуже не будет, это уж точно.