Количество «тяжелого» контента в сети возрастает год от года. Достаточно сказать, например, что в 2010 году средний размер web-страницы не превышал 481 кБ, а концу десятилетия это показатель увеличился до 1936.7 кБ, и в последующие годы рост продолжался. Влияют на это и стриминговые сервисы – аудио и видео. Разумеется, рост объемов отражается на времени загрузки, увеличивая ее – что в свою очередь влияет на поведение пользователей. Как свидетельствуют данные опросов, 25% пользователей покидают страницу, загружающуюся дольше 4-5 секунд на стационарном компьютере, а для мобильных устройств этот показатель составляет 74%. Таким образом, длительное время загрузки, обусловленное большим размеров web-страниц, может сыграть роковую роль в судьбе ресурса, лишив его посетителей. Решить такую проблему позволяет CDN для сайта – особая технология, позволяющая ускорить загрузку контента посредством распределения его по серверам.
Англоязычная аббревиатура CDN расшифровывается как Content Delivery Network, что означает в переводе «Сеть доставки контента». Речь идет о сети серверов, располагающихся в разных точках мира и обеспечивающих изолированные сетевые соединения для пользователей, находящихся поблизости.
Инфраструктура включает в себя разные элементы.
Это устройство, с которого совершаются запросы к удаленным серверам;
Это основной сервер сайта, обрабатывающий пользовательские запросы и хранящий оригинальный файлы;
Его также называют «точкой присутствия» (Point of Presence – PoP) – серверный узел, раздающий ближайшим пользователям контент, скопированный с оригинального сервера.
В структуру CDN всегда входит множество элементов каждой из представленных категорий.
Как известно, контент в интернете подразделяется на два основных типа – статический и динамический. Первый хранится на сервере и отправляется пользователям по запросу, он характеризуется значительным весом, поэтому для него требуется память SSD или HDD в большом количестве. Динамический же контент генерируется непосредственно при запросе, ему требуется мощность процессора и достаточное количество оперативной памяти, но вес его невелик. Оптимизировать обработку запросов позволяет хранение этих видов контента на разных серверах. На одном из них выполняется основная логика сайта, на другом обрабатываются запросы. Фактически технология CDN развивает эту идею.
В первую очередь пользователь выполняет запрос, открывая web-страницу для загрузки, браузер при этом посылает запросы на CDN-серверы, указанные в ее HTML-тегах. Затем система находит сервер, ближайший к данному пользователю. Если в его кэше имеется запрошенный контент, он отправляется к пользователю сразу же, а при отсутствии такового выполняется запрос к оригинальному серверу, где расположен сайт, и полученный контент подвергается кэшированию. Копия оптимизируется с помощью различных алгоритмов сжатия. В конечном итоге пользователь получает кэшированный оптимизированный контент, отображаемый в его браузере.
Применение данной технологии способно обеспечить немало преимуществ для сайта. Во-первых, снижается нагрузка на оригинальный сервер, во-вторых, уменьшается время загрузки контента, соответственно работа ускоряется, что особенно важно для страниц с «тяжелым» контентом – изображениями в высоком разрешении, анимацией, видео. В третьих, повышается надежность, ведь если даже один из серверов выйдет из строя, запросы будут перенаправляться на другие, и сбоя в работе сайта удастся избежать. Таким образом, CDN – весьма ценная технология, способная принести пользу любому бизнесу.