{"id":3219,"date":"2019-11-27T03:49:21","date_gmt":"2019-11-26T20:49:21","guid":{"rendered":"https:\/\/tino.vn\/?post_type=ht_kb&#038;p=3219"},"modified":"2019-11-29T03:20:07","modified_gmt":"2019-11-28T20:20:07","slug":"esi-litespeed-cache","status":"publish","type":"ht_kb","link":"https:\/\/tino.vn\/blog\/docs\/esi-litespeed-cache\/","title":{"rendered":"ESI &#038; LiteSpeed Cache"},"content":{"rendered":"<p><em>Xin l\u01b0u \u00fd: OpenLiteSpeed \u200b\u200bkh\u00f4ng h\u1ed7 tr\u1ee3 ch\u1ee9c n\u0103ng ESI.\u00a0B\u1ea1n s\u1ebd c\u1ea7n\u00a0<a href=\"https:\/\/www.litespeedtech.com\/products\/litespeed-web-server\" rel=\"nofollow noopener\" target=\"_blank\">LiteSpeed \u200b\u200bWeb Server Enterprise<\/a>\u00a0ho\u1eb7c\u00a0<a href=\"https:\/\/www.litespeedtech.com\/products\/litespeed-web-adc\" rel=\"nofollow noopener\" target=\"_blank\">LiteSpeed \u200b\u200bWeb ADC<\/a>\u00a0\u0111\u1ec3 s\u1eed d\u1ee5ng ESI.<\/em><\/p>\n<h2 id=\"ESI_l\u00e0_g\u00ec?\">ESI l\u00e0 g\u00ec?<\/h2>\n<p>ESI (Edge Side Includes) l\u00e0 m\u1ed9t ng\u00f4n ng\u1eef \u0111\u00e1nh d\u1ea5u (markup language) cho ph\u00e9p b\u1ea1n ch\u1ec9 \u0111\u1ecbnh c\u00e1c ph\u1ea7n c\u1ee7a trang \u0111\u1ed9ng (dynamic page) d\u01b0\u1edbi d\u1ea1ng c\u00e1c \u0111o\u1ea1n ri\u00eang bi\u1ec7t sau \u0111\u00f3 \u0111\u01b0\u1ee3c gh\u00e9p l\u1ea1i v\u1edbi nhau \u0111\u1ec3 t\u1ea1o th\u00e0nh to\u00e0n b\u1ed9 trang. N\u00f3i m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n h\u01a1n, ESI cho ph\u00e9p b\u1ea1n \u0111\u1ee5c l\u1ed7 (punch-holes) v\u00e0o m\u1ed9t publicly-cached v\u00e0 sau \u0111\u00f3 l\u1ea5p \u0111\u1ea7y c\u00e1c l\u1ed7 \u0111\u00f3 b\u1eb1ng n\u1ed9i dung privately-cached.<\/p>\n<p>V\u1ec1 m\u1eb7t k\u1ef9 thu\u1eadt b\u1ea1n c\u00f3 th\u1ec3 hi\u1ec3u l\u00e0 trong publicly-cached s\u1ebd c\u00f3 c\u00e1c punch-holes v\u00e0 c\u00e1c punch-holes n\u00e0y c\u00f3 th\u1ec3 ch\u1ee9a \u0111\u01b0\u1ee3c privately-cached. V\u1ea5n \u0111\u1ec1 l\u00e0, v\u1edbi ESI, c\u00e1c punch-holes c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c x\u1eed l\u00fd kh\u00e1c v\u1edbi ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a trang. Ch\u00fang c\u00f3 th\u1ec3 c\u00f3 c\u00e1c TTLs kh\u00e1c nhau v\u00e0 b\u1ecb x\u00f3a b\u1edfi c\u00e1c s\u1ef1 ki\u1ec7n ho\u00e0n to\u00e0n t\u00e1ch bi\u1ec7t v\u1edbi trang kh\u00e1ch \u0111ang truy c\u1eadp. \u0110i\u1ec1u n\u00e0y cho ph\u00e9p b\u1ea1n cache nhi\u1ec1u d\u1eef li\u1ec7u h\u01a1n \u0111\u1ec3 kh\u1eb3n n\u0103ng\u00a0 ch\u1ecbu t\u1ea3i l\u1eabn t\u1ed1c \u0111\u1ed9 truy c\u1eadp\u00a0 v\u1edbi s\u1ed1 l\u01b0\u1ee3ng trafic l\u1edbn<\/p>\n<h2 id=\"Public_Cache_vs._Private_Cache\">Public Cache vs. Private Cache<\/h2>\n<p>LiteSpeed \u200b\u200bCache d\u1ef1a tr\u00ean th\u1ebb (tag-based) (c\u00f3 ngh\u0129a l\u00e0 m\u1ed7i trang \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef v\u1edbi m\u1ed9t m\u00e3 \u0111\u1ecbnh danh cho ph\u00e9p n\u00f3 \u0111\u01b0\u1ee3c x\u00f3a kh\u1ecfi b\u1ed9 \u0111\u1ec7m nh\u01b0 m\u1ed9t ph\u1ea7n c\u1ee7a t\u1eadp h\u1ee3p con c\u1ee5 th\u1ec3) v\u00e0 c\u00f3 publicly-cached v\u00e0 privately-cached t\u00edch h\u1ee3p. Trong publicly-cached, b\u1ea1n s\u1ebd t\u00ecm th\u1ea5y c\u00e1c trang gi\u1ed1ng h\u1ec7t nhau cho t\u1ea5t c\u1ea3 m\u1ecdi website. B\u1ed9 nh\u1edb cache ch\u1ee9a n\u1ed9i dung ch\u1ec9 li\u00ean quan \u0111\u1ebfn m\u1ed9t ng\u01b0\u1eddi d\u00f9ng c\u1ee5 th\u1ec3 \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh b\u1edfi \u0111\u1ecba ch\u1ec9 IP v\u00e0 ID session c\u1ee7a ng\u01b0\u1eddi d\u00f9ng.<\/p>\n<p>B\u1ea1n s\u1ebd ph\u1ea3i suy ngh\u0129 v\u1ec1 to\u00e0n b\u1ed9 c\u00e1c page c\u1ee7a trang web c\u1ee7a m\u00ecnh. Page n\u00e0y c\u00f3 \u0111\u01b0\u1ee3c publicly-cacheable? \u00a0N\u1ebfu m\u1ed9t trang c\u00f3 b\u1ea5t k\u1ef3 d\u1eef li\u1ec7u ri\u00eang t\u01b0 n\u00e0o, b\u1ea1n ph\u1ea3i n\u00f3i l\u00e0: &#8220;kh\u00f4ng, n\u00f3 kh\u00f4ng th\u1ec3 \u0111\u01b0\u1ee3c l\u01b0u trong publicly-cacheable&#8221;. N\u1ebfu nh\u01b0 v\u1eady ph\u1ea3i l\u01b0u to\u00e0n b\u1ed9 page \u0111\u1ea7y \u0111\u1ee7 d\u01b0\u1edbi d\u1ea1ng privately-cached.\u00a0Trong WordPress, ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng \u0111\u0103ng nh\u1eadp h\u1ea7u nh\u01b0 lu\u00f4n ch\u1ec9 ph\u1ee5c v\u1ee5 n\u1ed9i dung c\u00f4ng khai (\u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb publicly-cacheable). V\u00e0 trong m\u1ed9t s\u1ed1 \u00edt tr\u01b0\u1eddng truy c\u1eadp v\u00e0o trang web ch\u1ee9 c\u00e1c\u00a0 n\u1ed9i dung ri\u00eang t\u01b0 (b\u00e0i \u0111\u0103ng \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7 b\u1eb1ng m\u1eadt kh\u1ea9u, b\u00ecnh lu\u1eadn \u0111\u01b0\u1ee3c ki\u1ec3m duy\u1ec7t, v.v.), n\u1ed9i dung \u0111\u00f3 s\u1ebd kh\u00f4ng \u0111\u01b0\u1ee3c cache\u00a0 tr\u00ean h\u1ec7 th\u1ed1ng. ESI thay \u0111\u1ed5i \u0111i\u1ec1u n\u00e0y.<\/p>\n<h2 id=\"L\u00e0m_th\u1ebf_n\u00e0o_\u0111\u1ec3_ESI_v\u00e0_Public\/Private_Cache_l\u00e0m_vi\u1ec7c_c\u00f9ng_nhau?\">L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 ESI v\u00e0 Public\/Private Cache l\u00e0m vi\u1ec7c c\u00f9ng nhau?<\/h2>\n<p>ESI cho ph\u00e9p b\u1ea1n th\u00e1o r\u1eddi m\u1ed9t trang \u0111\u1ea7y \u0111\u1ee7 v\u00e0 x\u1eed l\u00fd c\u00e1c ph\u1ea7n kh\u00e1c nhau.<\/p>\n<p>LiteSpeed \u200b\u200bWeb Server cho ph\u00e9p b\u1ea1n l\u01b0u tr\u1eef n\u1ed9i dung trong public cache ho\u1eb7c private cache<\/p>\n<p>K\u1ebft h\u1ee3p hai y\u1ebfu t\u1ed1 n\u00e0y v\u00e0 b\u1ea1n nh\u1eadn \u0111\u01b0\u1ee3c m\u1ed9t b\u1ed9 x\u1eed l\u00fd cache m\u1ea1nh m\u1ebd. B\u1ea1n nh\u1eadn \u0111\u01b0\u1ee3c m\u1ed9t h\u1ec7 th\u1ed1ng c\u00f3 th\u1ec3 t\u00e1ch m\u1ed9t trang th\u00e0nh c\u00e1c ph\u1ea7n chung v\u00e0 ri\u00eang, l\u01b0u tr\u1eef t\u1eebng ph\u1ea7n m\u1ed9t c\u00e1ch th\u00edch h\u1ee3p v\u00e0 sau \u0111\u00f3 so\u1ea1n l\u1ea1i n\u1ed9i dung to\u00e0n trang t\u1eeb c\u00e1c b\u1ed9 \u0111\u1ec7m c\u00f3 li\u00ean quan v\u00e0 cung c\u1ea5p cho ng\u01b0\u1eddi d\u00f9ng m\u00e0 kh\u00f4ng c\u1ea7n ph\u1ea3i ch\u1ec9nh s\u1eeda tr\u00ean backend (code m\u00e3 ngu\u1ed3n).<\/p>\n<p>\u0110i\u1ec1u \u0111\u00f3 th\u1eadt tuy\u1ec7t v\u1eddi.<\/p>\n<p><img decoding=\"async\" class=\"alignnone litespeed-loaded\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-1.jpg\" alt=\"C\u1ea1nh b\u00ean bao g\u1ed3m b\u1ed9 \u0111\u1ec7m\" width=\"672\" height=\"448\" data-lazyloaded=\"1\" data-placeholder-resp=\"672x448\" data-src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-1.jpg\" data-was-processed=\"true\" data- title=\"\"><\/p>\n<p><strong>S\u1ef1 k\u1ebft h\u1ee3p n\u00e0y cho ph\u00e9p b\u1ea1n l\u01b0u tr\u1eef n\u1ed9i dung cho ng\u01b0\u1eddi d\u00f9ng WordPress \u0111\u00e3 \u0111\u0103ng nh\u1eadp.\u00a0<\/strong>Khi b\u1eadt ESI, b\u1ea1n c\u00f3 th\u1ec3 n\u00f3i, Hey Hey trang n\u00e0y\u00a0<em>h\u1ea7u h\u1ebft l\u00e0<\/em> c\u00f4ng khai. H\u00e3y l\u01b0u tr\u1eef b\u1ed9 nh\u1edb cache, \u0111\u1ee5c m\u1ed9t v\u00e0i l\u1ed7 h\u1ed5ng trong n\u1ed9i dung c\u00f4ng khai v\u00e0 l\u01b0u n\u1ed9i dung \u0111\u00f3 v\u00e0o b\u1ed9 \u0111\u1ec7m ri\u00eang.<\/p>\n<h2 id=\"V\u00ed_d\u1ee5\">V\u00ed d\u1ee5<\/h2>\n<p>Ch\u00fang ta h\u00e3y xem x\u00e9t m\u1ed9t v\u00e0i t\u00ecnh hu\u1ed1ng ph\u1ed5 bi\u1ebfn v\u00e0 xem c\u00e1ch ch\u00fang di\u1ec5n ra v\u1edbi ESI \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t v\u00e0 kh\u00f4ng c\u00f3 ESI.<\/p>\n<h3 id=\"V\u00ed_d\u1ee5_#_1:_Thanh_qu\u1ea3n_tr\u1ecb_(admin_bar)\">V\u00ed d\u1ee5 # 1: Thanh qu\u1ea3n tr\u1ecb (admin bar)<\/h3>\n<p>B\u1ea1n l\u00e0 qu\u1ea3n tr\u1ecb vi\u00ean trang web, b\u1ea1n \u0111\u00e3 \u0111\u0103ng nh\u1eadp v\u00e0 b\u1ea1n truy c\u1eadp trang ch\u1ee7 c\u1ee7a trang web.<\/p>\n<p><strong>Kh\u00f4ng c\u00f3 ESI<\/strong> : y\u00eau c\u1ea7u c\u1ee7a b\u1ea1n s\u1ebd c\u1ea7n c\u00e1c ho\u1ea1t \u0111\u1ed9ng ph\u00eda backend x\u1eed l\u00fd, b\u1edfi v\u00ec thanh qu\u1ea3n tr\u1ecb \u1edf \u0111\u1ea7u trang l\u00e0 n\u1ed9i dung ri\u00eang t\u01b0 v\u00e0 v\u00ec v\u1eady trang n\u00e0y (v\u00e0 m\u1ecdi trang kh\u00e1c tr\u00ean trang web c\u1ee7a b\u1ea1n, khi \u0111\u00e3 login) kh\u00f4ng th\u1ec3 \u0111\u01b0\u1ee3c cung c\u1ea5p cho b\u1ea1n t\u1eeb b\u1ed9 nh\u1edb cache.<\/p>\n<p><strong>V\u1edbi ESI<\/strong> : h\u1ea7u h\u1ebft trang n\u00e0y \u0111\u01b0\u1ee3c ph\u1ee5c v\u1ee5 cho b\u1ea1n t\u1eeb public cache ,\u00a0trong khi thanh qu\u1ea3n tr\u1ecb \u0111\u01b0\u1ee3c ph\u1ee5c v\u1ee5 cho b\u1ea1n t\u1eeb b\u1ed9 \u0111\u1ec7m ri\u00eang.\u00a0Kh\u00f4ng c\u1ea7n ph\u1ea3i g\u1ecdi PHP.<\/p>\n<h3 id=\"V\u00ed_d\u1ee5_#_2:_Widget_b\u00e0i_vi\u1ebft_g\u1ea7n_\u0111\u00e2y_(Recent_Posts)\">V\u00ed d\u1ee5 # 2: Widget b\u00e0i vi\u1ebft g\u1ea7n \u0111\u00e2y (Recent Posts)<\/h3>\n<p>B\u1ea1n c\u00f3 m\u1ed9t trang web l\u1edbn v\u1edbi nhi\u1ec1u n\u1ed9i dung t\u0129nh hi\u1ebfm khi thay \u0111\u1ed5i.\u00a0M\u1ed7i trang \u0111\u1ec1u c\u00f3 m\u1ed9t thanh sidebar v\u00e0 widget ch\u1ee9a c\u00e1c &#8220;B\u00e0i vi\u1ebft g\u1ea7n \u0111\u00e2y&#8221;.<\/p>\n<p><strong>Kh\u00f4ng c\u00f3 ESI<\/strong> : M\u1ed7i khi m\u1ed9t b\u00e0i \u0111\u0103ng m\u1edbi \u0111\u01b0\u1ee3c xu\u1ea5t b\u1ea3n, m\u1ed7i page trong trang web ph\u1ea3i \u0111\u01b0\u1ee3c x\u00f3a \u0111\u1ec3 widget hi\u1ec3n th\u1ecb d\u1eef li\u1ec7u c\u1eadp nh\u1eadt. Vi\u1ec7c \u0111i\u1ec1n l\u1ea1i to\u00e0n b\u1ed9 b\u1ed9 \u0111\u1ec7m c\u1ea7n c\u00f3 tr\u00ecnh thu th\u1eadp th\u00f4ng tin \u0111\u1ec3 ch\u1ea1y ho\u1eb7c ph\u1ea3i ch\u1edd c\u00f3 kh\u00e1ch truy c\u1eadp truy c\u1eadp t\u1ea5t c\u1ea3 c\u00e1c trang c\u1ee7a trang web.<\/p>\n<p><strong>V\u1edbi ESI<\/strong> : T\u1ea5t c\u1ea3 c\u00e1c trang trong trang web c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache v\u1edbi m\u1ed9t TTLs l\u00e2u h\u01a1n, trong khi widget &#8220;B\u00e0i vi\u1ebft g\u1ea7n \u0111\u00e2y&#8221; l\u00e0 th\u1ee9 duy nh\u1ea5t c\u1ea7n \u0111\u01b0\u1ee3c thanh l\u1ecdc. Nh\u1eadp l\u1ea1i r\u1eb1ng m\u1ed9t bit c\u1ee7a b\u1ed9 \u0111\u1ec7m y\u00eau c\u1ea7u ch\u1ec9 m\u1ed9t kh\u00e1ch truy c\u1eadp \u0111\u1ec3 y\u00eau c\u1ea7u t\u1ea1o cache.<\/p>\n<p>B\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y ESI + LSCache c\u00f3 th\u1ec3 c\u00f3 \u00fd ngh\u0129a r\u1ea5t l\u1edbn \u0111\u1ed1i v\u1edbi t\u1ed1c \u0111\u1ed9 trang web c\u1ee7a b\u1ea1n!<\/p>\n<h2 id=\"K\u00edch_ho\u1ea1t_v\u00e0_c\u1ea5u_h\u00ecnh_ESI\">K\u00edch ho\u1ea1t v\u00e0 c\u1ea5u h\u00ecnh ESI<\/h2>\n<p>LiteSpeed \u200b\u200bCache cho WordPress coi t\u1ea5t c\u1ea3 c\u00e1c full-pages l\u00e0 publicly-cached.<\/p>\n<p>Khi b\u1ea1n b\u1eadt ESI, b\u1ea1n cho ph\u00e9p \u0111\u1ee5c l\u1ed7 cho public-cache \u0111\u1ec3 l\u01b0u c\u00e1c private-cache, cache n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd\u00a0 b\u1edfi TTL (time to life) ho\u1eb7c ho\u00e0n to\u00e0n kh\u00f4ng \u0111\u01b0\u1ee3c l\u01b0u v\u00e0o b\u1ed9 nh\u1edb cache.<\/p>\n<p>Khi \u0111\u01b0\u1ee3c b\u1eadt, c\u00e1c kh\u1ed1i ESI sau \u0111\u01b0\u1ee3c t\u1ea1o theo m\u1eb7c \u0111\u1ecbnh:<\/p>\n<ul>\n<li>Admin Bar<\/li>\n<li>Comments<\/li>\n<li>Comment form<\/li>\n<li>Recent Posts widget<\/li>\n<li>Recent Comments widget<\/li>\n<\/ul>\n<p>B\u1ea5t k\u1ef3 widget n\u00e0o c\u0169ng c\u00f3 th\u1ec3 l\u00e0 kh\u1ed1i ESI n\u1ebfu b\u1ea1n mu\u1ed1n.\u00a0Theo m\u1eb7c \u0111\u1ecbnh, ESI b\u1ecb v\u00f4 hi\u1ec7u h\u00f3a cho t\u1ea5t c\u1ea3 tr\u1eeb hai widget \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea \u1edf tr\u00ean, nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 thay \u0111\u1ed5i \u0111i\u1ec1u \u0111\u00f3 trong WP Admin.<\/p>\n<p><strong>L\u01b0u \u00fd<\/strong>\u00a0: ESI kh\u00f4ng \u0111\u1ebfn m\u00e0 kh\u00f4ng m\u1ea5t ph\u00ed.\u00a0M\u00e1y ch\u1ee7 tr\u1ea3 l\u1ea1i c\u00e1c trang \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache \u0111\u01a1n gi\u1ea3n h\u01a1n nhi\u1ec1u so v\u1edbi vi\u1ec7c n\u00f3 gh\u00e9p c\u00e1c trang t\u1eeb nhi\u1ec1u kh\u1ed1i kh\u00e1c nhau (m\u1eb7c d\u00f9 n\u00f3 v\u1eabn hi\u1ec7u qu\u1ea3 h\u01a1n so v\u1edbi vi\u1ec7c g\u1ecdi PHP), v\u00e0 v\u00ec v\u1eady n\u00f3 s\u1ebd t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean h\u01a1n \u0111\u1ec3 ho\u1ea1t \u0111\u1ed9ng v\u1edbi t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n c\u1ea7n th\u1eed nghi\u1ec7m ho\u1ea1t \u0111\u1ed9ng\u00a0 website c\u1ee7a m\u00ecnh v\u1edbi tr\u01b0\u1eddng h\u1ee3p b\u1eadt ho\u1eb7c kh\u00f4ng b\u1eadt ESI \u0111\u1ec3 ch\u1ecdn l\u1ee3i \u00edch gi\u1eefa t\u1ed1c \u0111\u1ed9 hay gi\u1ea3m t\u00e0i nguy\u00ean\u00a0 m\u00e0 ESI s\u1eed d\u1ee5ng.<\/p>\n<h3 id=\"C\u00e0i_\u0111\u1eb7t_ESI_c\u01a1_b\u1ea3n\">C\u00e0i \u0111\u1eb7t ESI c\u01a1 b\u1ea3n<\/h3>\n<p><img decoding=\"async\" class=\"alignnone litespeed-loaded\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-2.jpg\" alt=\"C\u1ea1nh b\u00ean Bao g\u1ed3m trong LiteSpeed \u200b\u200bCache\" width=\"672\" height=\"473\" data-lazyloaded=\"1\" data-placeholder-resp=\"672x473\" data-src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-2.jpg\" data-was-processed=\"true\" data- title=\"\"><\/p>\n<p>\u0110i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn\u00a0<strong>Qu\u1ea3n tr\u1ecb vi\u00ean WP&gt; B\u1ed9 nh\u1edb cache LiteSpeed&gt; C\u00e0i \u0111\u1eb7t&gt; C\u00e0i \u0111\u1eb7t ESI<\/strong>\u00a0.\u00a0\u0110\u1eb7t b\u1eadt\u00a0<strong>ESI<\/strong> th\u00e0nh &#8220;Enable&#8221;<\/p>\n<p>\u0110i\u1ec1u n\u00e0y t\u1ea1o ra c\u00e1c kh\u1ed1i ESI \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea \u1edf tr\u00ean. C\u00e1c kh\u1ed1i s\u1ebd v\u1eabn kh\u00f4ng b\u1ecb ch\u1eb7n, tr\u1eeb khi b\u1ea1n k\u00edch ho\u1ea1t ch\u00fang th\u00f4ng qua c\u00e0i \u0111\u1eb7t <strong>Cache Admin Bar<\/strong> v\u00e0 <strong>Cache Comment Form.<\/strong><\/p>\n<h3 id=\"T\u1ea1o_c\u00e1c_kh\u1ed1i_ESI_Widget_m\u1edbi\">T\u1ea1o c\u00e1c kh\u1ed1i ESI Widget m\u1edbi<\/h3>\n<p>Sau khi b\u1eadt t\u00ednh n\u0103ng ESI tr\u00ean plugin LScache, b\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o Widget s\u1eed d\u1ee5ng v\u1edbi ESI<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-3.jpg\" alt=\"Ti\u1ec7n \u00edch ESI trong LiteSpeed \u200b\u200bCache\" title=\"\"><\/p>\n<p><strong>Truy c\u1eadp WP Admin &gt; Appearance &gt; Widgets\u00a0<\/strong>v\u00e0 ch\u1ecdn widget m\u00e0 b\u1ea1n mu\u1ed1n bi\u1ebfn th\u00e0nh 1 kh\u1ed1i ESI<\/p>\n<p>Trong khu v\u1ef1c c\u00e0i \u0111\u1eb7t widget, b\u1ea1n s\u1ebd th\u1ea5y m\u1ed9t h\u1ed9p \u0111\u01b0\u1ee3c t\u00f4 x\u00e1m c\u00f3 t\u00ean l\u00e0 Lite LiteSpeed \u200b\u200bCache. Theo m\u1eb7c \u0111\u1ecbnh, m\u1ed9t widget kh\u00f4ng \u0111\u01b0\u1ee3c coi l\u00e0 m\u1ed9t kh\u1ed1i ESI (tr\u1eeb khi \u0111\u00f3 l\u00e0 Recent Posts widget ho\u1eb7c Recent Comments widget, nh\u01b0 \u0111\u00e3 \u0111\u1ec1 c\u1eadp \u1edf tr\u00ean). N\u1ebfu b\u1ea1n mu\u1ed1n widget \u0111\u01b0\u1ee3c x\u1eed l\u00fd v\u1edbi ESI, c\u1ea7n c\u1ea5u h\u00ecnh nh\u01b0 sau:<\/p>\n<h4 id=\"Widget_ri\u00eang\">Widget ri\u00eang<\/h4>\n<p>C\u00e1c n\u1ed9i dung s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong private cache, c\u00e1c b\u1ea3n sao kh\u00e1c nhau cho m\u1ed7i ng\u01b0\u1eddi d\u00f9ng theo IP\/ID session. (V\u00ed d\u1ee5: danh s\u00e1ch c\u00e1c b\u00e0i \u0111\u0103ng \u0111\u01b0\u1ee3c xem g\u1ea7n \u0111\u00e2y ho\u1eb7c l\u1eddi ch\u00e0o \u0111\u01b0\u1ee3c c\u00e1 nh\u00e2n h\u00f3a.)<\/p>\n<ul>\n<li>\u0110\u1eb7t b\u1eadt\u00a0<strong>ESI<\/strong> th\u00e0nh: PRIVATE<\/li>\n<li>\u0110\u1eb7t\u00a0<strong>Widget Cache TTL<\/strong>\u00a0cho gi\u00e1 tr\u1ecb ph\u00f9 h\u1ee3p v\u1edbi n\u1ed9i dung c\u1ee7a widget.<\/li>\n<\/ul>\n<h4 id=\"Widget_c\u00f4ng_c\u1ed9ng\">Widget c\u00f4ng c\u1ed9ng<\/h4>\n<p>C\u00e1c n\u1ed9i dung s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong b\u1ed9 nh\u1edb cache c\u00f4ng khai, v\u1edbi m\u1ed7i ng\u01b0\u1eddi d\u00f9ng nh\u00ecn th\u1ea5y \u0111i\u1ec1u t\u01b0\u01a1ng t\u1ef1 ch\u00ednh x\u00e1c.\u00a0(V\u00ed d\u1ee5: danh s\u00e1ch c\u00e1c b\u00e0i \u0111\u0103ng g\u1ea7n \u0111\u00e2y ho\u1eb7c l\u1ecbch c\u00e1c s\u1ef1 ki\u1ec7n s\u1eafp t\u1edbi).<\/p>\n<ul>\n<li>\u0110\u1eb7t b\u1eadt\u00a0<strong>ESI<\/strong> th\u00e0nh: PRIVATE<\/li>\n<li>\u0110\u1eb7t\u00a0<strong>Widget Cache TTL<\/strong>\u00a0cho gi\u00e1 tr\u1ecb ph\u00f9 h\u1ee3p v\u1edbi n\u1ed9i dung c\u1ee7a widget.<\/li>\n<\/ul>\n<h4 id=\"Widget_kh\u00f4ng_mu\u1ed1n_\u0111\u01b0\u1ee3c_cache\">Widget kh\u00f4ng mu\u1ed1n \u0111\u01b0\u1ee3c cache<\/h4>\n<p>C\u00e1c n\u1ed9i dung s\u1ebd kh\u00f4ng \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache v\u00e0 s\u1ebd \u0111\u01b0\u1ee3c t\u1ea1o \u0111\u1ed9ng m\u1ed7i khi ch\u00fang \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb tr\u00ean m\u1ed9t trang.<\/p>\n<ul>\n<li>Set\u00a0<strong>Enable ESI<\/strong> l\u00e0 Public ho\u1eb7c Private (mi\u1ec5n l\u00e0 kh\u00f4ng ph\u1ea3i Disable).<\/li>\n<li>\u0110\u1eb7t\u00a0<strong>Cache Cache Widget<\/strong> th\u00e0nh 0<\/li>\n<\/ul>\n<h2 id=\"ESI_v\u00e0_c\u00e1c_Plugin_t\u1eeb_b\u00ean_th\u1ee9_ba\">ESI v\u00e0 c\u00e1c Plugin t\u1eeb b\u00ean th\u1ee9 ba<\/h2>\n<p>ESI\u00a0 h\u1ed7 tr\u1ee3 m\u1ed9t s\u1ed1 kh\u1ed1i kh\u00e1c thu\u1ed9c v\u1ec1 plugin c\u1ee7a b\u00ean th\u1ee9 ba. V\u00ed d\u1ee5 nh\u01b0 WooCommerce \u0111\u01b0\u1ee3c coi l\u00e0 m\u1ed9t kh\u1ed1i ESI ri\u00eang.<\/p>\n<p>Nh\u01b0 \u0111\u00e3 \u0111\u1ec1 c\u1eadp tr\u01b0\u1edbc \u0111\u00f3, v\u1edbi ESI \u0111\u01b0\u1ee3c b\u1eadt, c\u00e1c trang tr\u00ean trang web c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c coi l\u00e0 b\u1ed9 nh\u1edb cache c\u00f4ng khai, b\u1edfi v\u00ec ESI c\u00f3 th\u1ec3 \u0111\u1ee5c l\u1ed7 c\u00e1c Public-cache v\u00e0 th\u00eam c\u00e1c cache ri\u00eang t\u01b0 \u0111\u1ec3 bi\u1ebfn to\u00e0n trang\u00a0 th\u00e0nh cache c\u00f4ng khai. \u0110i\u1ec1u n\u00e0y \u0111\u00fang v\u1edbi t\u1ea5t c\u1ea3 c\u00e1c trang WordPress g\u1ed1c v\u00e0 cho t\u1ea5t c\u1ea3 c\u00e1c trang WooCommerce. Tuy nhi\u00ean, \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng \u0111\u00fang v\u1edbi bbPress.<\/p>\n<p>M\u1ed9t trang bbPress ch\u1ee9a r\u1ea5t nhi\u1ec1u v\u00f9ng d\u1eef li\u1ec7u ri\u00eang t\u01b0, th\u1ef1c s\u1ef1 hi\u1ec7u qu\u1ea3 h\u01a1n nhi\u1ec1u khi coi to\u00e0n b\u1ed9 trang l\u00e0 ri\u00eang t\u01b0.<\/p>\n<p>M\u1ed9t l\u01b0u \u00fd n\u1eefa l\u00e0 n\u1ebfu website c\u00f3 s\u1eed d\u1ee5ng c\u00e1c plugin <strong>Page Builder\u00a0\u00a0<\/strong>d\u00f9ng &#8220;Nonce&#8221; \u0111\u1ec3 b\u1ea3o v\u1ec1 ng\u01b0\u1eddi d\u00f9ng, n\u1ebfu b\u1eadt ESI l\u00ean c\u00f3 th\u1ec3 s\u1ebd c\u00f3 l\u1ed7i khi ch\u1ec9nh s\u1eeda web th\u00f4ng qua builder. B\u1ea1n c\u00f3 th\u1ec3 t\u1eaft ESI \u0111\u1ec3 ki\u1ec3m tra n\u1ebfu c\u00f3 c\u00e1c l\u1ed7i li\u00ean quan \u0111\u1ebfn thao t\u00e1c ch\u1ec9nh s\u1eeda\u00a0 web b\u1eb1ng builder nh\u00e9.<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"K\u1ebft_lu\u1eadn\">K\u1ebft lu\u1eadn<\/h2>\n<p>Nh\u01b0 v\u1eady l\u00e0\u00a0 b\u1ea1n \u0111\u00e3 bi\u1ebft th\u00eam th\u00eam t\u00ednh n\u0103ng ESI tr\u00ean litespeed cache,\u00a0 nguy\u00ean t\u1eafc ho\u1ea1t \u0111\u1ed9ng v\u00e0 c\u00e1ch c\u1ea5u h\u00ecnh ch\u00fang l\u00ean website\u00a0 Wordpres.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Xin l\u01b0u \u00fd: OpenLiteSpeed \u200b\u200bkh\u00f4ng h\u1ed7 tr\u1ee3 ch\u1ee9c n\u0103ng ESI.\u00a0B\u1ea1n s\u1ebd c\u1ea7n\u00a0LiteSpeed \u200b\u200bWeb Server Enterprise\u00a0ho\u1eb7c\u00a0LiteSpeed \u200b\u200bWeb ADC\u00a0\u0111\u1ec3 s\u1eed d\u1ee5ng ESI. ESI l\u00e0 g\u00ec? ESI (Edge Side Includes) l\u00e0 m\u1ed9t ng\u00f4n ng\u1eef \u0111\u00e1nh d\u1ea5u (markup language) cho ph\u00e9p b\u1ea1n ch\u1ec9 \u0111\u1ecbnh c\u00e1c ph\u1ea7n c\u1ee7a trang \u0111\u1ed9ng (dynamic page) d\u01b0\u1edbi d\u1ea1ng c\u00e1c \u0111o\u1ea1n ri\u00eang bi\u1ec7t sau \u0111\u00f3 [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":16424,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"tags":[],"ht_kb_category":[4801,28],"class_list":["post-3219","ht_kb","type-ht_kb","status-publish","format-standard","has-post-thumbnail","hentry","ht_kb_category-news","ht_kb_category-huong-dan-chung"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/3219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=3219"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/3219\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/16424"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=3219"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=3219"},{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb_category?post=3219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}