Публікація

Статичний клон Reddit: редіректи Cloudflare та Web-Push

Продовжую досліджувати тему статичного клона редіт, в цій серії йдеться про редіректи та веб-пуши

Редіректи в Cloudflare працюють для статичних сайтів. Можно редірекнути одну сторінку на іншу, або зробити проксі-редірект, тобто залишити URL поточним, а показати контент з іншої сторінки.

Мені як раз потрібен другий проксі-редірект. Я дізнався що R2 не вміє автоматично резолвити index.html, тому варіант з тим щоб просто кинути R2 на основний домен виглядає як не варіант. Тому в мене є запасний план – зробити динамічний URL, виду: /u/:username/:year/:month/:day/:slug котрий буде автоматично прокситься на сторінку /post.html і вже там будемо дивитися на location.href та підвантажувати контент з R2 /u/:username/:year/:month/:day/:slug/index.html.

Проксі-редирект працює тільки для файлів, які знаходяться на сайті, тобто відносні. Урли з інших доменів не працюють. Редірект можно налаштувати наступним чином:

1
2
/a /b 200
/b /c 200

Подумав про Web-Push в контексті проєкту. Його можно застосувати для надсилання сповіщень про новий пост чи доданий комент всім підписникам, таким чином якщо я планую робити воркер, котрий буде парсити XML стрічки користувачів, щоб зібрати стрічку оновлень, то достатньо збрати оновлення один раз після запуску сайту та покласти всі стрічки в кеш браузера (на 12 годин) через Веб-Воркер, а тоді коли прийде пуш – попросити воркер перефетчити стрічку. Як на мене, це приберає зайве навантаження на воркер, тому що люди пишуть у стрічки не так часто.

Публікація захищена ліцензією CC BY 4.0 .