Lemmy
Щодо Cookies які створює UJournal
Привіт, підіймалося питання, чому UJournal UI створює багато кук. Я зробив невеличке дослідження і що вдалося зрозуміти.
Давайте з’ясуємо що таке Cookie і якого розміру вона може сягати?
HTTP-cookie або «Кукі» (англ. cookie — печиво) — у комп’ютерній термінології поняття, яке використовується для опису інформації у вигляді текстових або бінарних даних, отриманих від вебсайту на вебсервері, яка зберігається у клієнта, тобто браузера, а потім відправлена на той самий сайт, якщо його буде повторно відвідано. Таким чином вебсервер помічає браузер користувача при відвідуванні.
У технічному сенсі cookies – це невеликі за обсягом текстові файли. Максимально допустимий розмір одного такого файлу — 4096 байт.
Де ми дивимося який вміст займає UJournal?
Цю інформацію ми отримуємо у розділі: chrome://settings/content/all (https://github.com/uJournal/ujournal-ui/issues/100).
Це розділ який показує кількість інформації, яка була закешована на компьютері користувача під час відвідування сайту. Річ йде не тільки про Cookies, а й про скріпти, HTML, CSS, шрифти, зображення, та іниший медіа-контент.
Видно що UJournal зберігає багато інформації, чому так відбувається?
Цей сайт має дуже багато графіки, графіка має властивість зберігатися, або кешуватися на пристрої.
Крім того сам код сайту має деякий розмір, який теж буде завантажений, його можно подивитись після збирання:
Не маю підстав вважати, що розмір коду самого сайту перевищує 10 мб.
Ще одним джерелом великого розміру є те, що сайт працює, як PWA додаток, тобто все що завантажує сайт зберігається на пристрої для того щоб мати змогу швидко отримати інформацію без зайвих запитів на сервер. Тобто працює агресивне зберігання данних, у тому числі і графіки.
Як можна це виправити?
Так, прийшов час налаштувати PWA, та розібратися зі стратегіями кешування. Перше що я зробив, так це заборонив кешування графіки:
Це повинно знизити розмір кешей. Поки тестую цей варіант. Раджу видалити кеши та час від часу слідкувати за розміром кешей тут: chrome://settings/content/all?searchSubpage=ujournal.com.ua
UJournal це лідер по кешах?
Зовсім ні, я виявив що лідерами у моєму хромі є:
Якщо річ була у Cookies скільки кук треба створити щоб зайняти об’єм у 251 MB?
Ящо річ дійсно шла про Cookies, то якщо максимальний розмір однієї куки становить 4 кб, то треба було б створити 62750 кук. Насправді домен ujournal.com.ua створює десь близько 5‑ти кук.
Я й надалі буду слідкувати і шукати шляхи зменшення розмірів кешей. Це дуже добре що ви звертаєте увагу на ці питання, тому що гарний результат це коли сайт працює швидко і створює адекватиний об’ем кешей на пристрої.
Ще варто попрацювати над оптимізацією картинок. Деякі з них занадто великі і, відповідно, важкі. Лише одна ця картинка важить 4мб, а це всього лиш іконка категорії.
Поки існував тж, я помітив таку штуку при перегляді сайту з мобільного: так як відкривати нову вкладку не зручно з телефону, то я переходив на сторінку і верстався назад. Повернення назад розміщувало мене на пості в який я перейшов (загалом як і тут), але от що цікаво, попередні пости були доступні тільки десь 5 – 8 штук, а далі було видно тільки найновіші. Як я розумію, вони так економили трафік і збільшували швидкість завантаження стрічки. Може і пам’яті вони при цьому зберігали менше.
Не знаю як саме це працювало, я не веб розробник, але суть була десь така
цікаво