Serwowanie bibliotek (a raczej jak tego nie robić…)

Jedna z popularnych technik serwowania bibliotek, takich jak bootstrap, htmx, czy choices.js, to link do serwisu CDN. Znajdujemy go stronie naszej ulubionej biblioteki w sekcji “install” / “getting started” a nastepnie wrzucamy w <head></head> strony i… działa.

Sęk w tym, że o ile dawniej pomagało to nam uzyskać trochę przepustowości, zasoby bibliotek były pobierane z nie-naszych serwerów, a popularne biblioteki zwykle już znajdowały się w cache przeglądarek użytkowników końcowych.

To zachowanie zostało już w okolicach 2020 roku zmienione i przeglądarki oparte o chromium/blink (Google Chrome, Brave, etc.) oraz Firefox stosują partycjonowanie cache. W rezultacie nawet jakby cały internet korzystał z JQuery w tej samej wersji, to dla każdej domeny przeglądarka pobierze ten zasób i zapisze.

🔥
Zalecane jest unikanie CDNów do serwowania jakichkolwiek zasobów ze względów prywatności, bezpieczeństwa, a także wydajnościowych.

Źródła