{"id":3001,"date":"2019-11-23T10:59:27","date_gmt":"2019-11-23T03:59:27","guid":{"rendered":"https:\/\/tino.vn\/?post_type=ht_kb&#038;p=3001"},"modified":"2019-11-23T10:59:27","modified_gmt":"2019-11-23T03:59:27","slug":"bbr-control-trong-quic-va-http-3","status":"publish","type":"ht_kb","link":"https:\/\/tino.vn\/blog\/docs\/bbr-control-trong-quic-va-http-3\/","title":{"rendered":"BBR Control trong QUIC v\u00e0 HTTP\/3"},"content":{"rendered":"<p>Webserver LiteSpeed \u200b ph\u00e1t h\u00e0nh t\u1eeb phi\u00ean b\u1ea3n 5.4.2, Web ADC 2.6.0 v\u00e0 OpenLiteSpeed \u200b\u200b1.6.1 s\u1eed d\u1ee5ng b\u1ed9 \u0111i\u1ec1u khi\u1ec3n <a href=\"https:\/\/cacm.acm.org\/magazines\/2017\/2\/212428-bbr-congestion-based-congestion-control\/fulltext\" rel=\"nofollow noopener\" target=\"_blank\">Congestion-Based<\/a> cho c\u00e1c k\u1ebft n\u1ed1i QUIC.\u00a0BBR (vi\u1ebft t\u1eaft c\u1ee7a <em>Bottleneck Bandwidth v\u00e0 RTT<\/em>\u00a0) l\u00e0 m\u1ed9t thu\u1eadt to\u00e1n ki\u1ec3m so\u00e1t t\u1eafc ngh\u1ebdn m\u1edbi \u0111\u01b0\u1ee3c Google ph\u00e1t tri\u1ec3n trong v\u00e0i n\u0103m qua. N\u00f3 c\u00f3 m\u1ed9t s\u1ed1 t\u00ednh ch\u1ea5t r\u1ea5t h\u1eefu \u00edch.<\/p>\n<p><span style=\"font-size: 18pt;\">RTT l\u00e0 g\u00ec<\/span><\/p>\n<p>Round-trip time (RTT) l\u00e0 kho\u1ea3ng th\u1eddi gian t\u00ednh t\u1eeb l\u00fac client b\u1eaft \u0111\u1ea7u g\u1eedi request t\u1edbi l\u00fac n\u00f3 nh\u1eadn g\u00f3i d\u1eef li\u1ec7u \u0111\u1ea7u ti\u00ean tr\u1ea3 v\u1ec1, kh\u00f4ng bao g\u1ed3m th\u1eddi gian nh\u1eadn \u0111\u1ea7y \u0111\u1ee7 d\u1eef li\u1ec7u.<br \/>\nTr\u00ecnh duy\u1ec7t k\u1ebft n\u1ed1i v\u1edbi m\u1ed9t web server l\u1ea7n \u0111\u1ea7u ti\u00ean s\u1ebd tr\u1ea3i qua t\u1ed1i thi\u1ec3u 3 RTT: m\u1ed9t RTT \u0111\u1ec3 ph\u00e2n gi\u1ea3i t\u00ean mi\u1ec1n (DNS), m\u1ed9t RTT \u0111\u1ec3 kh\u1edfi t\u1ea1o k\u1ebft n\u1ed1i TCP, m\u1ed9t RTT cho HTTP request v\u00e0 nh\u1eefng byte \u0111\u1ea7u ti\u00ean c\u1ee7a HTTP response.<\/p>\n<p>Trong nh\u1eefng tr\u01b0\u1eddng h\u1ee3p x\u1ea5u nh\u1ea5t, RTT c\u00f3 th\u1ec3 t\u1edbi v\u00e0i gi\u00e2y, nh\u1ea5t l\u00e0 trong tr\u01b0\u1eddng h\u1ee3p request t\u1edbi nh\u1eefng file k\u00edch th\u01b0\u1edbc nh\u1ecf, RTT chi\u1ebfm h\u1ea7u h\u1ebft th\u1eddi gian trao \u0111\u1ed5i d\u1eef li\u1ec7u. V\u00ec th\u1ebf, m\u1ed9t trong nh\u1eefng chi\u1ebfn thu\u1eadt quan tr\u1ecdng \u0111\u1ec3 t\u0103ng t\u1ed1c website l\u00e0 t\u1ed1i thi\u1ec3u h\u00f3a s\u1ed1 l\u01b0\u1ee3ng c\u00e1c request client t\u1ea1o ra ho\u1eb7c song song ch\u00fang h\u1ebft m\u1ee9c c\u00f3 th\u1ec3.<\/p>\n<h2 id=\"Ch\u1ed1ng_m\u1ea5t_g\u00f3i_tin\">Ch\u1ed1ng m\u1ea5t g\u00f3i tin<\/h2>\n<p>\u00dd t\u01b0\u1edfng ch\u00ednh \u0111\u1eb1ng sau BBR l\u00e0 m\u1ea5t g\u00f3i c\u00f3 th\u1ec3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 c\u00f3 t\u1eafc ngh\u1ebdn trong m\u1ea1ng.\u00a0V\u00ed d\u1ee5, m\u1ed9t g\u00f3i c\u00f3 th\u1ec3 b\u1ecb m\u1ea5t do\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Packet_loss#Wireless_networks\" rel=\"nofollow noopener\" target=\"_blank\">nhi\u1ec5u s\u00f3ng v\u00f4 tuy\u1ebfn<\/a>\u00a0.\u00a0Thu\u1eadt to\u00e1n d\u1ef1a tr\u00ean Cubic(\u00a0 l\u00e0 thu\u1eadt to\u00e1n h\u00ecnh kh\u1ed1i ) v\u00e0 congestion-based kh\u00e1c kh\u00f4ng ph\u00e2n bi\u1ec7t gi\u1eefa m\u1ea5t g\u00f3i gi\u1ea3 v\u00e0 t\u1eafc ngh\u1ebdn th\u1ef1c s\u1ef1, l\u00e0m gi\u1ea3m t\u1ed1c \u0111\u1ed9 g\u1eedi c\u1ee7a ch\u00fang trong c\u1ea3 hai tr\u01b0\u1eddng h\u1ee3p. \u0110\u1ed1i v\u1edbi BBR s\u1ebd kh\u00f4ng b\u1ecb l\u1ed7i nh\u01b0 tr\u00ean<\/p>\n<p>K\u1ebft qu\u1ea3 l\u00e0, BBR c\u00f3 th\u1ec3 cung c\u1ea5p hi\u1ec7u su\u1ea5t th\u00f4ng l\u01b0\u1ee3ng b\u1ec1n v\u1eefng ngay c\u1ea3 khi \u0111\u1ed1i m\u1eb7t v\u1edbi c\u00e1c \u0111i\u1ec1u ki\u1ec7n m\u1ea1ng d\u01b0\u1edbi m\u1ee9c t\u1ed1i \u01b0u.<\/p>\n<h2 id=\"\u0110\u1ed9_tr\u1ec5_t\u1ed1i_thi\u1ec3u\">\u0110\u1ed9 tr\u1ec5 t\u1ed1i thi\u1ec3u<\/h2>\n<p>K\u1ec3 t\u1eeb khi v\u1ea5n \u0111\u1ec1 \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 c\u00f3\u00a0 c\u00e1c c\u1ea3nh b\u00e1o v\u1ec1 v\u1ea5n \u0111\u1ec1 m\u1ea5t g\u00f3i tin tr\u00ean h\u1ea1 t\u1ea7n m\u1ea1ng ng\u01b0\u1eddi d\u00f9ng, \u0111\u00e3 c\u00f3 nh\u1eefng thay \u0111\u1ed5i \u0111\u1ed1i v\u1edbi thi\u1ebft b\u1ecb c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng m\u1ea1ng \u0111\u1ec3 tr\u00e1nh buffering ( t\u1ea1o b\u1ed9 \u0111\u1ec7m) qu\u00e1 nhi\u1ec1u d\u1eef li\u1ec7u. Tuy nhi\u00ean, th\u1ef1c t\u1ebf v\u1eabn c\u00f2n: thu\u1eadt to\u00e1n Cubic s\u1ebd c\u1ed1 g\u1eafng l\u1ea5p \u0111\u1ea7y b\u1ed9 \u0111\u1ec7m c\u1ed5 chai tr\u00ean \u0111\u01b0\u1eddng d\u1eabn m\u1ea1ng, t\u0103ng \u0111\u1ed9 tr\u1ec5 k\u1ebft n\u1ed1i. M\u1ed9t\u00a0<a href=\"https:\/\/dl.acm.org\/citation.cfm?id=2486006\" rel=\"nofollow noopener\" target=\"_blank\">nghi\u00ean c\u1ee9u v\u1ec1 m\u1ea1ng 4G LTE<\/a>\u00a0cho th\u1ea5y \u0111\u1ec3 che gi\u1ea5u vi\u1ec7c m\u1ea5t g\u00f3i, b\u1ed9 \u0111\u1ec7m \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng r\u1ed9ng r\u00e3i, do \u0111\u00f3 l\u00e0m t\u0103ng RTT.<\/p>\n<p>BBR theo d\u00f5i b\u0103ng th\u00f4ng t\u1eafc ngh\u1ebdn v\u00e0 ki\u1ec3m tra \u0111\u1ecbnh k\u1ef3 trong th\u1eddi gian kh\u1ee9 h\u1ed3i t\u1ed1i thi\u1ec3u c\u1ee7a g\u00f3i tin. Nh\u1eefng \u01b0\u1edbc t\u00ednh n\u00e0y \u0111\u01b0\u1ee3c ng\u01b0\u1eddi g\u1eedi s\u1eed d\u1ee5ng \u0111\u1ec3 tr\u00e1nh l\u00e0m \u0111\u1ea7y b\u1ed9 \u0111\u1ec7m c\u1ed5 chai. V\u1edbi BBR, m\u1ed9t \u1ee9ng d\u1ee5ng web t\u01b0\u01a1ng t\u00e1c c\u00f3\u00a0 kh\u1ea3 n\u0103ng \u0111\u00e1p \u1ee9ng t\u1ed1t h\u01a1n tr\u01b0\u1edbc \u0111\u00e2y.<\/p>\n<h2 id=\"H\u1ea1n_ch\u1ebf\">H\u1ea1n ch\u1ebf<\/h2>\n<p>M\u1eb7c d\u00f9 c\u00f3 nh\u1eefng \u01b0u \u0111i\u1ec3m tuy\u1ec7t v\u1eddi, BBR kh\u00f4ng ph\u1ea3i kh\u00f4ng c\u00f3 v\u1ea5n \u0111\u1ec1.\u00a0N\u00f3 ho\u1ea1t \u0111\u1ed9ng k\u00e9m khi c\u00f3 b\u1ed9 \u0111\u1ec7m \u00edt tr\u00ean \u0111\u01b0\u1eddng d\u1eabn v\u00e0 n\u00f3 c\u00f3 th\u1ec3 kh\u00f4ng c\u00f4ng b\u1eb1ng v\u1edbi c\u00e1c lu\u1ed3ng kh\u00e1c, y\u00eau c\u1ea7u h\u1ea7u h\u1ebft b\u0103ng th\u00f4ng c\u00f3 s\u1eb5n. Nh\u1eefng v\u1ea5n \u0111\u1ec1 n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c gi\u1ea3i quy\u1ebft trong BBRv2, \u0111ang \u0111\u01b0\u1ee3c t\u00edch c\u1ef1c ph\u00e1t tri\u1ec3n t\u1ea1i Google.<\/p>\n<h2 id=\"K\u1ebft_qu\u1ea3_ki\u1ec3m_tra\">K\u1ebft qu\u1ea3 ki\u1ec3m tra<\/h2>\n<p>Ki\u00eam tra\u00a0 th\u00f4ng l\u01b0\u1ee3ng m\u1ea5t g\u00f3i tin<\/p>\n<p>\u0110\u1ec3 so s\u00e1nh BBR v\u1edbi Cubic, ta thi\u1ebft l\u1eadp b\u1ea3n d\u1ef1ng tr\u01b0\u1edbc khi ph\u00e1t h\u00e0nh LSWS 5.4.2 v\u00e0 ti\u1ebfn h\u00e0nh m\u1ed9t v\u00e0i th\u1eed nghi\u1ec7m t\u1ea3i xu\u1ed1ng t\u1ec7p t\u0129nh t\u1eeb m\u00e1y ch\u1ee7 web b\u1eb1ng <a href=\"https:\/\/github.com\/litespeedtech\/lsquic\" rel=\"nofollow noopener\" target=\"_blank\">\u1ee9ng d\u1ee5ng kh\u00e1ch LiteSpeed \u200b\u200bQUIC<\/a>\u00a0.\u00a0N\u00fat c\u1ed5 chai \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp \u1edf ph\u00eda m\u00e1y kh\u00e1ch b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng\u00a0<a href=\"https:\/\/wiki.linuxfoundation.org\/networking\/netem#how-can-i-use-netem-on-incoming-traffic\" rel=\"nofollow noopener\" target=\"_blank\">netem v\u00e0 ifb<\/a>\u00a0.<\/p>\n<table style=\"width: 0%; height: 376px;\">\n<tbody>\n<tr>\n<td style=\"width: 28.25%;\">T\u1ed1c \u0111\u1ed9 (MBit \/ gi\u00e2y)<\/td>\n<td style=\"width: 20.25%;\">Tr\u00ec ho\u00e3n (ms)<\/td>\n<td style=\"width: 14.75%;\">M\u1ea5t (%)<\/td>\n<td style=\"width: 17.5%;\">Cubic (gi\u00e2y)<\/td>\n<td style=\"width: 17.75%;\">BBR (gi\u00e2y)<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 28.25%;\">20<\/td>\n<td style=\"width: 20.25%;\">25<\/td>\n<td style=\"width: 14.75%;\">0<\/td>\n<td style=\"width: 17.5%;\">4,5<\/td>\n<td style=\"width: 17.75%;\">4,5<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 28.25%;\">20<\/td>\n<td style=\"width: 20.25%;\">25<\/td>\n<td style=\"width: 14.75%;\">0,5<\/td>\n<td style=\"width: 17.5%;\">6,7<\/td>\n<td style=\"width: 17.75%;\">4.6<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 28.25%;\">20<\/td>\n<td style=\"width: 20.25%;\">25<\/td>\n<td style=\"width: 14.75%;\">1<\/td>\n<td style=\"width: 17.5%;\">8,6<\/td>\n<td style=\"width: 17.75%;\">4.6<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 28.25%;\">20<\/td>\n<td style=\"width: 20.25%;\">25<\/td>\n<td style=\"width: 14.75%;\">2<\/td>\n<td style=\"width: 17.5%;\">14.3<\/td>\n<td style=\"width: 17.75%;\">4,7<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 28.25%;\">20<\/td>\n<td style=\"width: 20.25%;\">25<\/td>\n<td style=\"width: 14.75%;\">3<\/td>\n<td style=\"width: 17.5%;\">17,6<\/td>\n<td style=\"width: 17.75%;\">4,7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Th\u1eddi gian \u0111\u1ec3 chuy\u1ec3n t\u1ec7p 10 MB, t\u00ednh b\u1eb1ng gi\u00e2y<\/p>\n<p>R\u00f5 r\u00e0ng l\u00e0 Cubic r\u1ea5t nh\u1ea1y c\u1ea3m v\u1edbi vi\u1ec7c m\u1ea5t g\u00f3i, trong khi BBR th\u00ec kh\u00f4ng.<\/p>\n<h3 id=\"\u0110\u1ed9_tr\u1ec5\">\u0110\u1ed9 tr\u1ec5<\/h3>\n<p>\u0110\u1ec3 ki\u1ec3m tra s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 \u0111\u1ed9 tr\u1ec5 gi\u1eefa Cubic v\u00e0 BBR, ta thi\u1ebft l\u1eadp m\u1ed9t trang web \u0111\u01a1n gi\u1ea3n v\u1edbi ba t\u00e0i nguy\u00ean: m\u1ed9t trang HTML c\u00f3 li\u00ean k\u1ebft \u0111\u1ebfn hai t\u1ec7p: m\u1ed9t l\u1edbn v\u00e0 m\u1ed9t nh\u1ecf. N\u00fat c\u1ed5 chai \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp \u0111\u1ec3 c\u00f3 b\u0103ng th\u00f4ng 20 MBit \/ gi\u00e2y v\u00e0 \u0111\u1ed9 tr\u1ec5 25 ms v\u1edbi b\u1ed9 \u0111\u1ec7m l\u1edbn.\u00a0Ng\u01b0\u1eddi d\u00f9ng nh\u1ea5p v\u00e0o t\u1ec7p l\u1edbn v\u00e0 n\u00f3 b\u1eaft \u0111\u1ea7u t\u1ea3i xu\u1ed1ng.\u00a0Ng\u01b0\u1eddi d\u00f9ng sau \u0111\u00f3 nh\u1ea5p v\u00e0o t\u1ec7p nh\u1ecf.\u00a0Khi kh\u1ed1i \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng, ph\u1ea3i m\u1ea5t m\u1ed9t \u0111\u1ebfn hai gi\u00e2y \u0111\u1ec3 t\u1ea3i xu\u1ed1ng t\u1ec7p nh\u1ecf:<\/p>\n<p><img decoding=\"async\" class=\"litespeed-loaded\" title=\"\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-1.png\" alt=\"\" width=\"601\" height=\"376\" data-lazyloaded=\"1\" data-placeholder-resp=\"601x376\" data-src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-1.png\" data-was-processed=\"true\" data-><br \/>\n<em>H\u00ecnh 1: T\u1ea3i xu\u1ed1ng t\u1ec7p nh\u1ecf khi m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Cubic<\/em><\/p>\n<p>\u0110i\u1ec1u n\u00e0y l\u00e0 do thu\u1eadt to\u00e1n Cubic c\u1ed1 g\u1eafng l\u1ea5p \u0111\u1ea7y b\u1ed9 \u0111\u1ec7m trung gian. M\u1eb7t kh\u00e1c, BBR gi\u1eef cho b\u1ed9 \u0111\u1ec7m th\u1eaft c\u1ed5 chai \u0111\u01b0\u1ee3c \u0111i\u1ec1n \u0111\u1ea7y \u0111\u1ee7 v\u00e0o \u0111\u00fang c\u00e1ch \u0111\u1ec3 vi\u1ec7c t\u1ea3i xu\u1ed1ng m\u1ed9t t\u1ec7p nh\u1ecf theo th\u1ee9 t\u1ef1 RTT:<\/p>\n<p><img decoding=\"async\" class=\"litespeed-loaded\" title=\"\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-2.png\" alt=\"\" width=\"601\" height=\"376\" data-lazyloaded=\"1\" data-placeholder-resp=\"601x376\" data-src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2019\/11\/null-2.png\" data-was-processed=\"true\" data-><br \/>\nH\u00ecnh 2: T\u1ea3i xu\u1ed1ng t\u1ec7p nh\u1ecf khi ng\u01b0\u1eddi d\u00f9ng m\u00e1y ch\u1ee7 BBR<\/p>\n<h2 id=\"Ki\u1ec3m_so\u00e1t_t\u1eafc_ngh\u1ebdn_BBR_trong_QUIC_v\u00e0_HTTP\/3\">Ki\u1ec3m so\u00e1t t\u1eafc ngh\u1ebdn BBR trong QUIC v\u00e0 HTTP\/3<\/h2>\n<p>BBR l\u00e0 m\u1ed9t c\u00f4ng ngh\u1ec7 ki\u1ec3m so\u00e1t t\u1eafc ngh\u1ebdn m\u1edbi. N\u00f3 c\u00f3 hai \u01b0u \u0111i\u1ec3m so v\u1edbi ki\u1ec3m so\u00e1t t\u1eafc ngh\u1ebdn Cubic \u0111\u01b0\u1ee3c tri\u1ec3n khai r\u1ed9ng r\u00e3i: kh\u00f4ng nh\u1ea1y c\u1ea3m v\u1edbi m\u1ea5t g\u00f3i ng\u1eabu nhi\u00ean v\u00e0 \u0111\u1ed9 tr\u1ec5 th\u1ea5p. V\u1edbi Litespeed hosting t\u1ea1i TinoHost, b\u1ea1n c\u00f3 th\u1ec3 t\u1eadn d\u1ee5ng c\u00f4ng ngh\u1ec7 n\u00e0y ngay h\u00f4m nay \u0111\u1ec3 cung c\u1ea5p t\u1ed1c \u0111\u1ed9 cho c\u00e1c k\u1ebft n\u1ed1i Google QUIC v\u00e0 HTTP \/ 3 c\u1ee7a m\u00e1y ch\u1ee7.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Webserver LiteSpeed \u200b ph\u00e1t h\u00e0nh t\u1eeb phi\u00ean b\u1ea3n 5.4.2, Web ADC 2.6.0 v\u00e0 OpenLiteSpeed \u200b\u200b1.6.1 s\u1eed d\u1ee5ng b\u1ed9 \u0111i\u1ec1u khi\u1ec3n Congestion-Based cho c\u00e1c k\u1ebft n\u1ed1i QUIC.\u00a0BBR (vi\u1ebft t\u1eaft c\u1ee7a Bottleneck Bandwidth v\u00e0 RTT\u00a0) l\u00e0 m\u1ed9t thu\u1eadt to\u00e1n ki\u1ec3m so\u00e1t t\u1eafc ngh\u1ebdn m\u1edbi \u0111\u01b0\u1ee3c Google ph\u00e1t tri\u1ec3n trong v\u00e0i n\u0103m qua. N\u00f3 c\u00f3 m\u1ed9t s\u1ed1 t\u00ednh [&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],"class_list":["post-3001","ht_kb","type-ht_kb","status-publish","format-standard","has-post-thumbnail","hentry","ht_kb_category-news"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/3001","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=3001"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/3001\/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=3001"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=3001"},{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb_category?post=3001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}