Блог #веб-сайт

Новый год 2008 (Норвегия, Швеция, Дания). Крунхюсет – старейшее здание Гётеборга
Перу и Боливия. Зима-весна 2011. Солончак Уюни
Байкал, остров Ольхон, Хужир. Март 2018. Дерево
Перу и Боливия. Зима-весна 2011. Ламы
Байкал, остров Ольхон, Хужир. Март 2018. Дорога на Ольхоне
Тенерифе.
Исландия 2023.
Новый год 2008 (Норвегия, Швеция, Дания). Дорожка
Лето 2008 (Куба). Сенфуегос — Театр Томаса Терри
Гармиш-Партенкирхен, Миттенвальд, Инсбрук. Май-июнь 2022. Еще одно вкусное баварское пиво
Осень. %!s(<nil>)
Хорватия, Млини 2017. Панорама Млини
Лето 2008 (Куба). Типичный Кубинский пейзаж
Перу и Боливия. Зима-весна 2011. Закат
Тойфельсберг. %!s(<nil>)
Стамбул 2024. %!s(<nil>)
Ирландия. %!s(<nil>)
Перу и Боливия. Зима-весна 2011. Куско, малыш
Ирландия, март 2015. Еще один типичный квартал
Хорватия, Млини 2017. Пляж
Киев, лето 2009. Разрушенный вандалами и реставрируемый памятник Ленину
Байкал, остров Ольхон, Хужир. Март 2018. Ольхон
Тенерифе.
Перу и Боливия. Зима-весна 2011. Сочное фото
Чешская Швейцария и немного Дрездена. Дорога вдоль реки
Тайланд 2018. %!s(<nil>)
Весна 2012. Германия — Франция — Италия. Трасса Формулы 1 в Монте-Карло
Перу и Боливия. Зима-весна 2011. Солончак Уюни
Тенерифе.
Весна 2012. Германия — Франция — Италия. Толпа в Каннах
Новый Год 2009 (Амстердам). типичная обувь без голландца

Разворачиваем статический веб-сайт в IPFS

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

Для начала я в двух словах объясню в чём состоит различие между динамическими и статическими веб-сайтами.

У динамических веб-сайтов за отдачу содержимого отвечает какая-то программа. Обычно такие программы пишутся на одном из языков вроде PHP, JavaScript, Python, Go и других. Запрос от браузера пользователя обслуживается веб-сервером, который перенаправляет его программе, а программа в ответ на лету генерирует какую-то html-страницу, которая возвращается пользователю. В теории, запросы к одному и тому же адресу от разных пользователей могут получать разные ответы. Такой подход оправдан в случае если действительно есть необходимость отдавать разным пользователям разный контент при запросе одних и тех же страниц. Например, в социальных сетях одна и та же страница новостей для разных пользователей содержит разные новости.

В случае статического веб-сайта, все html-файлы заранее созданы и лежат в файловой системе сервера. Все запросы к сайту также обслуживаются веб-сервером, но он, минуя другие программы, отдаёт html-файлы с диска. Таким образом, все пользователи получают абсолютно одинаковые ответы на запросы к одинаковым адресам. Это максимально простой, быстрый и надёжный способ раздавать данные, который подходит для блогов вроде этого (хотя есть и куда более сложные сценарии использования статических сайтов). Dynamic site vs static

IPFS – это распределённое хранилище и оно не способно обслуживать динамические сайты, однако вполне подходит для статических. Фактически, статический веб-сайт это просто директория с набором html-файлов, css, скриптов и картинок. Чтобы разместить такой сайт в IPFS достаточно добавить эти файлы в систему командой вида ipfs add .... Однако есть несколько важных нюансов, о которых я бы хотел рассказать.

Для того чтобы сделать статический веб-сайт доступным в IPFS нужно выполнить 4 шага:

  1. запустить ipfs daemon,
  2. в html-файлах использовать относительные ссылки на локальные ресурсы,
  3. добавить dnslink,
  4. использовать IPNS и включить его автоообновление.

На самом деле, только первые два шага обязательны к выполнению, но последние два сделают доступ к сайту более удобным. Дальше я детальнее расскажу о каждом из шагов.

Читать дальше ➠