Lemmy Lemmy 12 жовтня 2022, 14:20

Щодо Cookies які створює UJournal

При­віт, піді­йма­ло­ся пита­н­ня, чому UJournal UI ство­рює бага­то кук. Я зро­бив неве­ли­чке дослі­дже­н­ня і що вда­ло­ся зрозуміти.

Давай­те з’я­су­є­мо що таке Cookie і яко­го роз­мі­ру вона може сягати?

HTTP-cookie або «Кукі» (англ. cookie — печи­во) — у ком­п’ю­тер­ній тер­мі­но­ло­гії поня­т­тя, яке вико­ри­сто­ву­є­ться для опи­су інфор­ма­ції у вигля­ді текс­то­вих або бінар­них даних, отри­ма­них від веб­сай­ту на веб­сер­ве­рі, яка збе­рі­га­є­ться у клі­єн­та, тоб­то бра­у­зе­ра, а потім від­прав­ле­на на той самий сайт, якщо його буде повтор­но від­ві­да­но. Таким чином веб­сер­вер помі­чає бра­у­зер кори­сту­ва­ча при відвідуванні.

У техні­чно­му сен­сі cookies – це неве­ли­кі за обся­гом текс­то­ві фай­ли. Макси­маль­но допу­сти­мий роз­мір одно­го тако­го фай­лу — 4096 байт.

Де ми диви­мо­ся який вміст займає UJournal?

Цю інфор­ма­цію ми отри­му­є­мо у роз­ді­лі: chrome://settings/content/all (https://​github​.com/​u​J​o​u​r​n​a​l​/​u​j​o​u​r​n​a​l​-​u​i​/​i​s​s​u​e​s/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‑ти кук.

Я й нада­лі буду слід­ку­ва­ти і шука­ти шля­хи змен­ше­н­ня роз­мі­рів кешей. Це дуже добре що ви звер­та­є­те ува­гу на ці пита­н­ня, тому що гар­ний резуль­тат це коли сайт пра­цює швид­ко і ство­рює аде­ква­ти­ний об’ем кешей на пристрої.

  • 15
  • 4
  • 13

4 коментарі

  • qompik qompik 3 роки тому

    Ще вар­то попра­цю­ва­ти над опти­мі­за­ці­єю кар­ти­нок. Деякі з них занад­то вели­кі і, від­по­від­но, важ­кі. Лише одна ця кар­тин­ка важить 4мб, а це всьо­го лиш ікон­ка категорії.

    • 0
  • HimarsTime HimarsTime 3 роки тому

    Поки існу­вав тж, я помі­тив таку шту­ку при пере­гля­ді сай­ту з мобіль­но­го: так як від­кри­ва­ти нову вклад­ку не зру­чно з теле­фо­ну, то я пере­хо­див на сто­рін­ку і вер­став­ся назад. Повер­не­н­ня назад роз­мі­щу­ва­ло мене на пості в який я пере­йшов (зага­лом як і тут), але от що ціка­во, попе­ре­дні пости були досту­пні тіль­ки десь 5 – 8 штук, а далі було видно тіль­ки най­но­ві­ші. Як я розу­мію, вони так еко­но­ми­ли тра­фік і збіль­шу­ва­ли швид­кість заван­та­же­н­ня стрі­чки. Може і пам’я­ті вони при цьо­му збе­рі­га­ли менше. 

    Не знаю як саме це пра­цю­ва­ло, я не веб роз­ро­бник, але суть була десь така

    • 0