ืืฉื ืื ืืืืจืื ืืช, ืืืชืจ ืืืืชืจ ืคืืืคืืจืืืช ืืืืคืืืืืืฆืื ืฉื ืคืจืืืงืืื ืืืืชืืื ืืฆืืขืืช ืืืืื ืืืืช ืืืืจืื ืขืฆืื ืื ืืืขืืจืช ืืฉืืืื ืฉื ืฆื ืฉืืืฉื. Akamai ืืืคืฉืจ ืื ืืืืืืจ
ืื ืืชื ืืืืข ืฉืฉืืจืืชื ืืฆื ืืฉืืืฉื ืืืฉืืฉืื ืืคืจืืืงื ืฉืื ืื ืืฉืชื ืื ืืขืชืื ืงืจืืืืช ืืืื, ืืฉืชืืืื ืืกืคืงืชื ืืืงืืืืช ืืืื ืืืฉืชืคืจ, ืื ืืชื ืื ืจืื ืืืฉื ืขื ืืขืืจืช ืฉืืจืืชืื ืืืื. ืขื ืืืฉื ืื, ืืชื ืืืื ืืืื ืืงืจื ืืช ืืืฉืืืื ืืืื ืืืฉืชืืฉืื ืฉืื ืืืืฉืื ืฉืืืื ืืืื ืืืชืจ ืขื ืืงืืืฅ ืืฉืืืจ ืฉืืื ืืฆื ืืืงืื. ืื, ืื ืืกืฃ, ืืืคืฉืจ ืื ืืืื ืขื ืืืฉืชืืฉืื ืืคื ื ืฆืจืืช ืฉื ืืจืืืช ื"ืืชืจืกืงืืช" ืฉื ืฉืืจืืช ืฆื ืฉืืืฉื ืื ืืจืืื ืืืืฆืืขืื.
ืืื: ืืืฆืืขืื ืืฉืืคืจืื
ืืืจืื ืขืฆืื ืฉื ืืฉืืืื ืฉื ืืืฉืื ืืืจ ืืฉืคืจ ืืช ืืืืฆืืขืื ืืฆืืจื ืืืื ืืจืืจื. ืืืคืืคื ืื ืฆืจืื ืืืฉืช ืฉืื ื-DNS, ืืื ืื ืฆืจืื ืืืฆืืจ ืืืืืจ TCP ืืืืฆืข ืืืืฆืช ืื ืฉื TLS ืืืืืืื ืฉื ืฆื ืฉืืืฉื. ืืชื ืืืื ืืจืืืช ืืืฆื ืืืจืื ืขืฆืื ืฉื ืืฉืืืื ืฉื ืืืฉืื ืืืจ ืืฉืคืืข ืขื ืืืืฆืืขืื ืขื ืืื ืืฉืืืื ืืื ืฉื ื ืื ืชืื ืื ืืืืื.
ืืฉืืืื ืฉื ืฆื ืฉืืืฉื ืืืจืืืื ืืืงืืจืืช ืืืฆืื ืืื (ื ืืงืื ื
ืืฉืืื ืฆื ืฉืืืฉื ืืืืืกื ืื ืืืืชื ืืงืื ืืื ืฉืืจ ืืืืจื ืืืชืจ (ื ืืงืื ื
ืืืฆื ืืฉืชืคืจ ืื ืืืขืืืื ืฉืืืคืืคื ืืฉืชืืฉ ืืืืืืช ืจืืืื ืืชืขืืืฃ ื ืชืื ืื ืืืืืืจ HTTP/2 ืฉืืืจ ืืืงื ืขื ืืืืืืื ืืจืืฉื.
ืื ืืื ื ืืืจื ืืฉืืืื ืฉื ืฆื ืฉืืืฉื, ืื ืืืืืื ืฉืื ืืืืขื ื ืืืืืืื ืฉืื ื ืืืืืืืื ืืจืืฉื, ืื ื ืืชื ืืชืขืืฃ ืืืชื. ืื ืืืจืื ืืื ืืืชืืจืืช ืื ืืื ืขื ืจืืื ืืคืก ืฉื ืืืงืื. ืื ืืืื ืืืจืื ืืืื ื ืืขืื ื ืฉื ืชืืื ืงืจืืื ืืื ืืืช ืืฃ ืืจืื ืืืจืื ืืื ืฉื ืืชื ืืืฉืื ืื ืกืืืืช ืืืืืืืืืช.
ื ืืชื ืืื ืื ืื ืืฉืืืืฉ ืืชืืื ืืช ืืงืืฉืืจืื ืืืฉืืืื ืืืฆืื ืืื preconnect
ืืขืืืจ ืืคืชืจืื ืืืขืื. ืขื ืืืช, ืื ืืฉ ืืืชืจ ืืื ืงืืฉืืจืื ืืื ืืืืืืื ืื ืฉืื ืื, ืื ืืืื ืืืขืฉื ืืืขืืืก ืขื ืงื ืืชืงืฉืืจืช ืืจืืข ืืืืจืืข ืืืืชืจ.
ืื ืืชื ืืืจื ืืฉืืืื ืฉื ืฆื ืฉืืืฉื ืืขืฆืื, ืืชื ืืืื ืืฉืืื ืืืฆื ืืืืืง ืืฉืืืื ืืื ื ืืชื ืื ืืืงืื. ืืืืืจ, ืื ืื ื ืืืืจืื ืขื ืืืืจืื ืืืืื:
- ืืชื ืืืื ืืืืืื ืื ื ืขืฉื ืฉืืืืฉ ืืืืืืจืืชื ืืืืกืช ืื ืชืื ืื ืืืชืืื ืืืืชืจ ืืื ืืคืืคื (Brotli/gzip).
- ืืชื ืืืื ืืืืืื ืืช ืืื ืืืืกืื ืืืืืื ืขืืืจ ืืฉืืืื ืฉืืจืื ืืื ื ืืจืืืื ืืืืืื, ืืคืืื ืขื ืืกืคืงืื ืืืืืจืื ืืืืชืจ (ืืืืืื, ืืขืจื ืืืชืืื ืืชื GA ืืืืืจ ื-30 ืืงืืช).
ืืชื ืืืื ืืคืืื ืืืจืืื ืืช ื-TTL ืขืืืจ ืืฉืื ืืฉื ื, ืืืฉื, ืขื ืืื ืฉืืืื ืชืืื ืจืืืื ืื ืืืกืืจืืืืืช ื ืืืื ื-Caching ืฉืื (hashes ืฉื ืืชืืืืช ืืชืจืื, ื ืืืื ืืจืกืืืช ืืื'). ื ืืืจ ืขื ืื ืืืื.
โืืื ื ืืคื ื ืืคืจืขืืช ืืืคืขืืช ืฉืืจืืชื ืฆื ืฉืืืฉื ืื ืืฉืืชืชื
ืืืื ืืขื ืืื ื ืืกืฃ ืฉื ืืฉืืื ืฆื ืฉืืืฉื ืืืจืื ืขืฆืื ืืื ืฉืืื ืืืคืฉืจ ืื ืืืคืืืช ืืช ืืกืืืื ืื ืืืจืืืื ืืืคืกืงืืช ืฉื ืฉืืจืืชื ืฆื ืฉืืืฉื. ื ื ืื ืฉืคืชืจืื ืืืืงืช A/B ืฉื ืฆื ืฉืืืฉื ืฉืื ืืชื ืืฉืชืืฉ ืืืืฉื ืืกืงืจืืคื ืืืกื ืฉื ืืขื ืืืืง ืืจืืฉื ืฉื ืืืฃ. ืืกืงืจืืคื ืืื ื ืืขื ืืื. ืื ืืกืงืจืืคื ืืืชืืื ืื ืืฆืืื ืืืืืขื, ืืืฃ ืืืื ืจืืง. ืื ืืืงื ืืจืื ืืืื ืืื ืืืขืื, ืืืฃ ืืืคืืข ืืืืืืจ ืจื. ืืืืืคืื, ื ื ืื ืฉืืคืจืืืงื ืืฉืชืืฉ ืืกืคืจืืื ืฉืืืจืื ืืืฉืื CDN ืฉื ืฆื ืฉืืืฉื. ืืืื ื ืืืืื ืฉืืืฉืื ืืื ืืืื ืืืฉืืื ืื ื ืืกื ืืืืื ื ืืกืืืืช. ืืฆื ืืื ืืืืื ืืืคืจื ืฉื ืืืืืืื ืฉื ืืืชืจ.
ืืื ืืืืืช ืืืฆื ืืืชืจ ืฉืื ืคืืขื ืืืฉืจ ืฉืืจืืช ืืืฆืื ื ืืืฉืื ืืื ื ืืืื, ืชืืื ืืืฉืชืืฉ ืืกืขืืฃ SPOF ืื ืืฉื
ืืืืจ SPOF ืืืชืจ webpagetest.org
โืื ืืืื ืืขืืืช ืืฉืืืจื ืืืืืื ืฉื ืืืืจืื ืืืคืืคื ืื? (ืจืื: ืื ืืืชืืก)
ืืชื ืขืฉืื ืืืฉืื ืฉืฉืืืืฉ ื-CDN ืฆืืืืจื ืืืืื ืืืืืืืืช ืืืืฆืืขื ืืฉืืืื ืืืืื ืืืชืจ, ืืืืืื ืฉืืฉืืจืืชืื ืืื ืืฉ ืจืฉืชืืช ืืืืืืช ืืืืื ืืืื ืืื ืืืคืฆืื ืืจืืื ืืขืืื. ืืื ืืขืฆื ืืื ืงืฆืช ืืืชืจ ืืกืืื.
ื ื ืื ืฉืืฉ ืื ื ืืื ืืชืจืื ืฉืื ืื: website1.com, website2.com, website3.com. ืื ืืืชืจืื ืืืื ืืฉืชืืฉืื ืืกืคืจืืืช jQuery. ืื ืื ื ืืืืจืื ืืช ืื ืืืืื ืืืืฆืขืืช CDN, ืืืฉื - googleapis.com. ืืชื ืืืื ืืฆืคืืช ืืืืคืืคื ืืืืจืื ืืืฉืืืจ ืืช ืืกืคืจืืื ืคืขื ืืืช, ืืืืืจ ืืื ืืืฉืชืืฉ ืื ืืื ืฉืืืฉืช ืืืชืจืื. ืื ืืืื ืืืคืืืช ืืช ืืขืืืก ืขื ืืจืฉืช. ืืืื ืื ืืืคืฉืจ ืื ืืืกืื ืืกืฃ ืืืคืฉืื ืืืขืืืจ ืืฉืคืจ ืืช ืืืฆืืขื ืืืฉืืืื. ืื ืงืืืช ืืื ืืขืฉืืช, ืืื ื ืจืื ืืืจืช. ืืืืืื, ืืกืคืืจื ืืฉ ืชืืื ื ืฉื ืงืจืืช
ืืืืืืื ืืฉื ืื
ืืชืืฆืื ืืื, ืื ืืชื ืืืจื ืชืืื ืฉื ืื ืฉืื ืืืจืื, ืื ืชืืืื ืืืขืืืช ืืืฆืืขืื ืื ืืจืืืช ืขื ืืื ืฉืืืจื ืืืืืื ืฉื ืืคืืคื.
ืืขืช, ืืืืจ ืฉืืืกืื ื ืืช ืืืืืงืืช ืฉื ืืืจืื ืขืฆืื ืฉื ืฆื ืฉืืืฉื, ืืืื ื ืืืจ ืขื ืืื ืืืืืื ืืื ืืืฉืื ืืื ืฉื ืืืฉื ืื ืืืืฉื ืืจืืขื.
ืืจืข: ืืฉืื ื ืืฆื ืืคืจืืื ืืงืื ืื
ืืขืืจืช ืืฉืืืื ืฉื ืฆื ืฉืืืฉื ืืืืืืื ืฉืื ืื ืืืืื ืืืชืืฆืข ืืืืคื ืืืืืืื ืืืื ืืืืื ืฉืืืฉืืืื ืืืื ืืืืืกื ืื ืืจืืื ืืืืืื.
ืืืช ืืืขืืืช ืืขืืงืจืืืช ืืื ืืื ืืื ืฉืืืจื ืืืืืื. ืืืืืื, ืืืืข ืขื ืืจืกื ืืืื ืืฉืืืช ืกืงืจืืคื ืฉื ืฆื ืฉืืืฉื ืืื ืื: jquery-3.4.1.js
. ืงืืืฅ ืืื ืื ืืฉืชื ื ืืขืชืื, ืืืชืืฆืื ืืื ืื ืื ืืืจืื ืืืขืืืช ืืฉืืืจื ืฉืื.
ืืื ืื ืื ื ืขืฉื ืฉืืืืฉ ืืกืืืืช ืืืจืกืืืช ืืืฉืื ืืขืช ืขืืืื ืขื ืงืืฆืื, ืกืงืจืืคืืื ืืงืืืฅ ืฉืืืจ, ืฉืชืืื ื ืืฉืชื ื ืืืื ืฉืฉื ืืงืืืฅ ื ืฉืืจ ืืื ืฉืื ืื, ืขืืืืื ืืืืืช ืืืืฉื ืื. ืื ืืืืื ืืืืืช ืืขืื ืจืฆืื ืืช, ืืืืืื ืฉืืื, ืืืฉื, ืืื ื ืืืคืฉืจืช ืืืืกืืฃ ืชืืงืื ื ืืืืื ืืืืืืืืื ืืกืงืจืืคืืื ืฉืืงืืืืช ืฆืจืืืื ืืงืื ืืืืืจืืช ืืืคืฉืจืืช. ืืืคืชื ืืฆืืจื ืืขืฉืืช ืืืืฅ ืืขืืื ืกืงืจืืคืืื ืืืื ืืืืืื. ืื ืืกืฃ, ืืืืจ ืขืืื ืืืจืื ืืืฉืืื ืืืคืืืงืฆืื ืืฉื ืืขืืืื ืฉืืงืื ืืืฉืืฉ ืืืงืื ืืืืืืื ืฉืื ื ืืืืจืกื ืืขืืื ืืช ืืืืชืจ ืฉื ืืงืื ืฉืขืืืจื ืชืืื ื ืืืง ืืฉืจืช ืฉื ืืคืจืืืืงื.
ื ืืื, ืื ืืืืจืื ืขื ืืืืจืื ืฉืืชืขืืื ืื ืืชืืืจืืช ืืืืื (ืื ืืื ืชืืื, ืคืชืจืื ืืช ืืืืืงืืช A/B), ืื ืฉืืืจื ืืืืืื ืืืืฆืขืืช ืืื CDN ืืื ืืฉืืื ืฉื ืืชื ืืคืชืืจ, ืืื ืืื ืืจืื ืืืชืจ ืืืจืืืช. ืฉืืจืืชืื ืืื Commanders Act, ืคืชืจืื ืื ืืืื ืชืืื, ืืฉืชืืฉืื ื-webhooks ืืขืช ืคืจืกืื ืืจืกืืืช ืืืฉืืช. ืื ื ืืชื ืื ืืช ืืืืืืช ืืืืฅ ืฉืืืคืช ืืืืื ื-CDN, ืื, ืืื ืืืชืจ, ืืช ืืืืืืช ืืืืฅ ืขืืืื hash ืื ืืชืืืช URL.
โ ืืกืคืงื โโืืืชืืืช ืฉื ืืืืจืื ืืืงืืืืช
ืื ืืกืฃ, ืืืฉืจ ืื ื ืืืืจืื ืขื ืฉืืืจื ืืืืืื, ืขืืื ื ืืงืืช ืืืฉืืื ืืช ืืขืืืื ืฉืืืืจืืช ืืืืืื ืืืฉืืฉืืช ื-CDN ืขืฉืืืืช ืฉืื ืืืชืืื ืืืฉืืืื ืืกืืืืื ืฉื ืฆื ืฉืืืฉื. ืืืืืื, ืืฉืืืื ืืืื ืขืฉืืืื ืืืฉืชืืฉ ืืืื ืืืืืืืช ืจืืจืื ืฉื ืกืืื ืืฉืชืืฉ (ืืืฉื ืืืคืืืืืช) ืืื ืืฉืจืช ืืคืืคื ืื ืกืคืฆืืคืืื ืขื ืืจืกืืืช ืฉื ืชืืื ืืืืชืืืืช ืืืืืื ืขืืืจ ืืืชื ืืคืืคื ืื. ืืื ืืืืืืืช ืืื ืืกืชืืืืช ืขื ืืืืืืื ืจืืืืจืืื, ืื ืืกื ื ืชืื ืื ืฉื ืืืืข ืืืชืจืืช HTTP, ืืื ืืืืื ืืช ืืืืืืช ืืืคืืคื. User-Agent
. ืืจืืข ืฉืื ืืืืขืื ืขื ืืืื ืืคืืคื ืืฉ ืืื ืขืกืง, ืื ื ืืชื ืื ืื ืืืืจืื ืืืืืขืืื ืืื.
ืืื ืชืืืื ืืืืืจ ืฉื ื ืฉืืจืืชืื. ืืจืืฉืื ืืื googlefonts.com. ืืฉื ื ืืื polyfill.io. ืฉืืจืืช Google Fonts ืืกืคืง, ืขืืืจ ืืฉืื ืืกืืื, ืงืื CSS ืฉืื ืื, ืืืชืื ืืืืืืืช ืืืคืืคื (ืืชื ืงืืฉืืจืื ืืืฉืืื woff2 ืืืืฆืขืืช unicode-range
).
ืืืื ืืชืืฆืืืช ืฉื ืืื ืฉืืืืชืืช ืฉื ืืืื ืืืคื ืื ืฉื ืขืฉื ืืืคืืคื ืื ืฉืื ืื.
ืชืืฆืืช ืฉืืืืชืช ืืืื ืืืคื ืื ื-Chrome
ืชืืฆืื ืฉื ืฉืืืืชืช Google Fonts ืฉืืืฆืขื ื-IE10
Polyfill.io ื ืืชื ืืืคืืคื ืจืง ืืช ืืคืืืืคืืืื ืฉืืื ืฆืจืื. ืื ื ืขืฉื ืืืขืื ืืืฆืืขืื.
ืืืืืื, ืืืื ื ืกืชืื ืื ืงืืจื ืื ืชืคืขืื ืืช ืืืงืฉื ืืืื ืืืคืืคื ืื ืฉืื ืื:
ืืชืืืื ืืืงืฉื ืืื ืฉืชืืืฆืข ื-IE10, ืืชืงืืื 34 KB ืฉื ื ืชืื ืื. ืืืชืฉืืื ืขืืื, ืฉืชืืืฆืข ืืืจืื, ืชืืื ืจืืงื.
ืืืขืก: ืืื ืฉืืงืืื ืคืจืืืืช
ื ืงืืื ืื ืืื ืืืจืื ื ืืกืืจ, ืืื ืื ืคืืืช ืืฉืืื. ืื ืงืืื ืืื ืฉืืืจืื ืขืฆืื ืฉื ืืฉืืื ืฆื ืฉืืืฉื ืืืืืืื ืืจืืฉื ืฉื ืืคืจืืืงื ืื ืืชืช-ืืืืืื ืฉืื ืืืื ืืกืื ืืช ืคืจืืืืช ืืืฉืชืืฉืื ืืืืฉืคืืข ืืจืขื ืขื ืคืจืืืงื ืืืื ืืจื ื ืืจืืฉื.
ืื ืืขืจืืช ื-CDN ืฉืื ืื ืืืืืจืช ืืืืื, ืืชื ืขืืื ืืฉืืื ืืช ืงืืืฆื ื-cookie ืฉื ืืืืืืื ืฉืื ืืฉืืจืืช ืฉื ืฆื ืฉืืืฉื. ืื ืกืื ืื ื ืืื ืืื ื ืืืืจืื ืืจืืช ื-CDN, ืื ืงืืืฆื ื-cookie ืฉื ืืืคืขืื, ืฉืืืจื ืืื ืื ื ืืชื ืืืฉืชืืฉ ืืื ื-JavaScript (ืขื httponly
), ืขืฉืื ืืืืฉืื ืืืืจื ืืจ.
ืื ืืืืืง ืื ืฉืืืื ืืงืจืืช ืขื ืขืืงืืื ืืื Eulerian ืื Criteo. ืืืชืื ืฉืขืืงืืื ืฉื ืฆื ืฉืืืฉื ืืืืืจื ืืืื ืืืืืื ืืงืืืฅ ื-cookie. ืื ืื ืืื ืืืง ืืืืืจื ืืืชืจ, ืื ืืืื ืืงืจืื ืืช ืืืืื ืืคื ืฉืืงืื ืืขืชื ืืืื ืฉืืืฉืชืืฉ ืขืืื ืขื ืืฉืืื ืืื ืืจื ื ืฉืื ืื.
ืืืื, ืจืื ืืืคืืคื ืื ืืืืืื ืืื ื ืืคื ื ืกืื ืื ืฉื ืืชื ืืืืช ืืขืงื. ืืชืืฆืื ืืื, ืขืืงืืื ืืฉืชืืฉืื ืืขืช ืืืื ืืืืืื
ืืืจืืช ืฉืื ืืืืืฅ ืืืคืื ืงืืืฆื Cookie ืืืชืจ ืืืืื ืื ืืื ืชืช-ืืืืืืื ืื (ืืืืืื - *.website.com), ืืชืจืื ืจืืื ืขืืฉืื ืืืช. ืืืงืจื ืื, ืขืืืืืช ืืืื ื ืฉืืืืช ืืืืืืืืช ืืืฉืฉ ืฆื ืฉืืืฉื ืืืกืืื. ืืชืืฆืื ืืื, ืืื ื ื ืืืืืื ืขืื ืืืืจ ืขื ืคืจืืืืช ืืืฉืื.
ืืื ืื, ืืืชื ืืืจ ืงืืจื ืขื ืืืชืจืืช HTTP
ืชืืฆืืืช ืฉื
ืื ืืชื ืืชืื ื ืื ืืืืฉื ืืงืจืื ืืืจืื ืขืฆืื ืฉื ืืฉืืื ืฆื ืฉืืืฉื, ืืจืฉื ืื ืืชืช ืืื ืืื ืืืคืื:
- ืืจื ืืช ืกืคืจืืืช ื-JS, ืืืืคื ืื ืืงืืฆื ื-CSS ืืืฉืืืื ืืืืชืจ ืฉืื. ืื ืืงืืื ืืช ืืกืืืื ืืืฉื ืืืชืจ ืื ืืคืืืขื ืืืืฆืืขืื ืขืงื ืืืกืจ ืืืื ืฉื ืืฉืื ืืืื ื ืืืชืจ ืขืงื ืชืงืื ืฉื ืฉืืจืืช ืฉื ืฆื ืฉืืืฉื.
- ืืคื ื ืฉืืชื ืฉืืืจ ืืฉืืื ืฆื ืฉืืืฉื ืืืืืื ื-CDN, ืืื ืฉืืฉืชืืฉืื ืืืขืจืืช ื ืืืื ืืจืกืืืช ืืืฉืื ืืขืช ืืชื ืฉืืืช ืืงืืฆืื ืฉืืื, ืื ืฉืืชื ืืืื ืื ืื ืืช ืืืืืจ ืืืืื ืฉื ืืฉืืืื ืืื ืขื ืืื ืืืคืืก ืืื ื ืื ืืืืืืื ืฉื ืืืืื ื-CDN ืืขืช ืคืจืกืื ืืจืกื ืืืฉื ืฉื ืืชืกืจืื.
- ืืืืืจ ืืืื ืืืื ืืืืจืืช ื-CDN, ืฉืจืช ื-proxy ืืืืืืื ืฉืื. ืื ืืืคืฉืจ ืื ืืื ืืข ืืืคืจืืืงื ืื ืืืืชืจืืช ืฉืื ืืฉืืื ืงืืืฆื Cookie
Client-Hints
ืฉืืจืืชื ืฆื ืฉืืืฉื.
ืงืืจืืื ืืงืจืื! ืืื ืืชื ืืืจื ืืืืจืื ืฉื ืื ืฉืื ืืืจืื ืืฉืจืชืื ืฉืื ืฉืื ืืฉืืืื ืืืืชืจ ืืชืคืขืื ืืคืจืืืงืืื ืฉืื?
ืืงืืจ: www.habr.com