{"id":27872,"date":"2025-05-04T13:07:03","date_gmt":"2025-05-04T06:07:03","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=27872"},"modified":"2025-05-29T17:53:09","modified_gmt":"2025-05-29T10:53:09","slug":"http-2-la-gi","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/http-2-la-gi\/","title":{"rendered":"HTTP\/2 l\u00e0 g\u00ec? C\u00e1ch ho\u1ea1t \u0111\u1ed9ng, l\u1ee3i \u00edch &#038; so s\u00e1nh v\u1edbi HTTP\/1.1"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#HTTP2-la-gi\" >HTTP\/2 l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Lich-su-ra-doi-va-muc-tieu-cua-HTTP2\" >L\u1ecbch s\u1eed ra \u0111\u1eddi v\u00e0 m\u1ee5c ti\u00eau c\u1ee7a HTTP\/2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Cach-hoat-dong-cot-loi-cua-HTTP2\" >C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ed1t l\u00f5i c\u1ee7a HTTP\/2<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Giao-thuc-nhi-phan-Binary-Protocol\" >Giao th\u1ee9c nh\u1ecb ph\u00e2n (Binary Protocol)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Ghep-kenh-Multiplexing\" >Gh\u00e9p k\u00eanh (Multiplexing)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Nen-tieu-de-Header-Compression-%E2%80%93-HPACK\" >N\u00e9n ti\u00eau \u0111\u1ec1 (Header Compression &#8211; HPACK)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Day-may-chu-Server-Push\" >\u0110\u1ea9y m\u00e1y ch\u1ee7 (Server Push)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Uu-tien-luong-Stream-Prioritization\" >\u01afu ti\u00ean lu\u1ed3ng (Stream Prioritization)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#So-sanh-chi-tiet-HTTP2-va-HTTP11\" >So s\u00e1nh chi ti\u1ebft HTTP\/2 v\u00e0 HTTP\/1.1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Loi-ich-chinh-khi-su-dung-HTTP2\" >L\u1ee3i \u00edch ch\u00ednh khi s\u1eed d\u1ee5ng HTTP\/2<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Tang-toc-do-tai-trang\" >T\u0103ng t\u1ed1c \u0111\u1ed9 t\u1ea3i trang<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Giam-do-tre\" >Gi\u1ea3m \u0111\u1ed9 tr\u1ec5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Toi-uu-hoa-cho-thiet-bi-di-dong\" >T\u1ed1i \u01b0u h\u00f3a cho thi\u1ebft b\u1ecb di \u0111\u1ed9ng<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Tiet-kiem-bang-thong\" >Ti\u1ebft ki\u1ec7m b\u0103ng th\u00f4ng<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Than-thien-hon-voi-SEO\" >Th\u00e2n thi\u1ec7n h\u01a1n v\u1edbi SEO<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Yeu-cau-can-thiet-de-trien-khai-HTTP2\" >Y\u00eau c\u1ea7u c\u1ea7n thi\u1ebft \u0111\u1ec3 tri\u1ec3n khai HTTP\/2<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Yeu-cau-ve-HTTPS-SSLTLS\" >Y\u00eau c\u1ea7u v\u1ec1 HTTPS (SSL\/TLS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Ho-tro-tu-Web-Server\" >H\u1ed7 tr\u1ee3 t\u1eeb Web Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Ho-tro-tu-trinh-duyet-Browser-Support\" >H\u1ed7 tr\u1ee3 t\u1eeb tr\u00ecnh duy\u1ec7t (Browser Support)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Lam-the-nao-de-kiem-tra-Website-co-dang-dung-HTTP2\" >L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 ki\u1ec3m tra Website c\u00f3 \u0111ang d\u00f9ng HTTP\/2?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Su-dung-cong-cu-kiem-tra-online\" >S\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 ki\u1ec3m tra online<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Su-dung-cong-cu-phat-trien-cua-trinh-duyet\" >S\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n c\u1ee7a tr\u00ecnh duy\u1ec7t<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Cach-kich-hoat-HTTP2-cho-Website-cua-ban\" >C\u00e1ch k\u00edch ho\u1ea1t HTTP\/2 cho Website c\u1ee7a b\u1ea1n<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Thong-qua-nha-cung-cap-Web-Hosting\" >Th\u00f4ng qua nh\u00e0 cung c\u1ea5p Web Hosting<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Cau-hinh-thu-cong-tren-Web-Server-NginxApache-%E2%80%93-Nang-cao\" >C\u1ea5u h\u00ecnh th\u1ee7 c\u00f4ng tr\u00ean Web Server (Nginx\/Apache &#8211; N\u00e2ng cao)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#So-luoc-ve-HTTP3\" >S\u01a1 l\u01b0\u1ee3c v\u1ec1 HTTP\/3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Cau-hoi-thuong-gap-ve-HTTP2-FAQ\" >C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 HTTP\/2 (FAQ)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#HTTP2-co-thay-the-hoan-toan-HTTP11-khong\" >HTTP\/2 c\u00f3 thay th\u1ebf ho\u00e0n to\u00e0n HTTP\/1.1 kh\u00f4ng?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Su-dung-HTTP2-co-ton-them-chi-phi-khong\" >S\u1eed d\u1ee5ng HTTP\/2 c\u00f3 t\u1ed1n th\u00eam chi ph\u00ed kh\u00f4ng?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Server-Push-co-phai-luc-nao-cung-tot-khong\" >Server Push c\u00f3 ph\u1ea3i l\u00fac n\u00e0o c\u0169ng t\u1ed1t kh\u00f4ng?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Toi-co-can-sua-doi-code-website-cua-minh-de-dung-HTTP2-khong\" >T\u00f4i c\u00f3 c\u1ea7n s\u1eeda \u0111\u1ed5i code website c\u1ee7a m\u00ecnh \u0111\u1ec3 d\u00f9ng HTTP\/2 kh\u00f4ng?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/interdata.vn\/blog\/http-2-la-gi\/#Mat-bao-lau-de-chuyen-doi-sang-HTTP2\" >M\u1ea5t bao l\u00e2u \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i sang HTTP\/2?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p><strong>HTTP\/2 (Hypertext Transfer Protocol version 2)<\/strong> l\u00e0 phi\u00ean b\u1ea3n ch\u00ednh th\u1ee9c th\u1ee9 hai c\u1ee7a giao th\u1ee9c n\u1ec1n t\u1ea3ng cho World Wide Web. Giao th\u1ee9c n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 t\u0103ng t\u1ed1c \u0111\u1ed9 t\u1ea3i trang web, n\u00e2ng cao hi\u1ec7u qu\u1ea3 truy\u1ec1n d\u1eef li\u1ec7u v\u00e0 c\u1ea3i thi\u1ec7n tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng so v\u1edbi phi\u00ean b\u1ea3n ti\u1ec1n nhi\u1ec7m HTTP\/1.1. B\u00e0i vi\u1ebft n\u00e0y s\u1ebd gi\u1ea3i th\u00edch c\u1eb7n k\u1ebd HTTP\/2 l\u00e0 g\u00ec, c\u00e1ch ho\u1ea1t \u0111\u1ed9ng, l\u1ee3i \u00edch ch\u00ednh v\u00e0 so s\u00e1nh tr\u1ef1c ti\u1ebfp v\u1edbi HTTP\/1.1.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"HTTP2-la-gi\"><\/span>HTTP\/2 l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>HTTP\/2, vi\u1ebft t\u1eaft c\u1ee7a Hypertext Transfer Protocol version 2, l\u00e0 phi\u00ean b\u1ea3n ch\u00ednh th\u1ee9c c\u1ee7a giao th\u1ee9c HTTP \u0111i\u1ec1u khi\u1ec3n vi\u1ec7c truy\u1ec1n d\u1eef li\u1ec7u c\u1ed1t l\u00f5i tr\u00ean World Wide Web.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-la-gi.jpg\" alt=\"HTTP\/2 l\u00e0 g\u00ec\" width=\"750\" height=\"500\" class=\"aligncenter size-full wp-image-27873\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-la-gi.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-la-gi-300x200.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>Giao th\u1ee9c n\u00e0y \u0111\u01b0\u1ee3c L\u1ef1c l\u01b0\u1ee3ng \u0110\u1eb7c nhi\u1ec7m K\u1ef9 thu\u1eadt Internet (IETF &#8211; Internet Engineering Task Force) chu\u1ea9n h\u00f3a v\u00e0o th\u00e1ng 5 n\u0103m 2015, c\u00f4ng b\u1ed1 qua t\u00e0i li\u1ec7u RFC 7540.<\/p>\n<p>M\u1ee5c ti\u00eau c\u01a1 b\u1ea3n c\u1ee7a HTTP\/2 l\u00e0 c\u1ea3i thi\u1ec7n \u0111\u00e1ng k\u1ec3 hi\u1ec7u su\u1ea5t web. Giao th\u1ee9c t\u1eadp trung gi\u1ea3m \u0111\u1ed9 tr\u1ec5 v\u00e0 t\u0103ng t\u1ed1c \u0111\u1ed9 t\u1ea3i t\u00e0i nguy\u00ean website.<\/p>\n<p>HTTP\/2 ra \u0111\u1eddi nh\u1eb1m kh\u1eafc ph\u1ee5c c\u00e1c gi\u1edbi h\u1ea1n c\u1ee7a phi\u00ean b\u1ea3n tr\u01b0\u1edbc \u0111\u00f3 l\u00e0 HTTP\/1.1. \u0110\u1eb7c bi\u1ec7t l\u00e0 v\u1ea5n \u0111\u1ec1 hi\u1ec7u qu\u1ea3 s\u1eed d\u1ee5ng k\u1ebft n\u1ed1i m\u1ea1ng v\u00e0 hi\u1ec7n t\u01b0\u1ee3ng ch\u1eb7n h\u00e0ng \u0111\u1ee3i (head-of-line blocking).<\/p>\n<p>Giao th\u1ee9c m\u1edbi gi\u1edbi thi\u1ec7u c\u00e1c c\u01a1 ch\u1ebf ti\u00ean ti\u1ebfn. V\u00ed d\u1ee5 nh\u01b0 vi\u1ec7c s\u1eed d\u1ee5ng \u0111\u1ecbnh d\u1ea1ng nh\u1ecb ph\u00e2n (binary protocol) thay v\u00ec v\u0103n b\u1ea3n (text-based) nh\u01b0 HTTP\/1.1.<\/p>\n<p>M\u1ed9t c\u1ea3i ti\u1ebfn quan tr\u1ecdng kh\u00e1c l\u00e0 gh\u00e9p k\u00eanh (multiplexing). K\u1ef9 thu\u1eadt n\u00e0y cho ph\u00e9p g\u1eedi v\u00e0 nh\u1eadn nhi\u1ec1u y\u00eau c\u1ea7u, ph\u1ea3n h\u1ed3i \u0111\u1ed3ng th\u1eddi tr\u00ean c\u00f9ng m\u1ed9t k\u1ebft n\u1ed1i TCP duy nh\u1ea5t.<\/p>\n<p>Nh\u1edd nh\u1eefng thay \u0111\u1ed5i n\u1ec1n t\u1ea3ng n\u00e0y, HTTP\/2 gi\u00fap tr\u00ecnh duy\u1ec7t web t\u1ea3i c\u00e1c th\u00e0nh ph\u1ea7n c\u1ee7a trang (nh\u01b0 HTML, CSS, JavaScript, h\u00ecnh \u1ea3nh) nhanh v\u00e0 hi\u1ec7u qu\u1ea3 h\u01a1n r\u1ea5t nhi\u1ec1u.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Lich-su-ra-doi-va-muc-tieu-cua-HTTP2\"><\/span>L\u1ecbch s\u1eed ra \u0111\u1eddi v\u00e0 m\u1ee5c ti\u00eau c\u1ee7a HTTP\/2<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Giao th\u1ee9c HTTP\/1.1, \u0111\u01b0\u1ee3c chu\u1ea9n h\u00f3a t\u1eeb cu\u1ed1i nh\u1eefng n\u0103m 1990 (RFC 2616 n\u0103m 1999), \u0111\u00e3 ph\u1ee5c v\u1ee5 t\u1ed1t cho web trong th\u1eddi gian d\u00e0i. Tuy nhi\u00ean, c\u1ea5u tr\u00fac web ng\u00e0y c\u00e0ng ph\u1ee9c t\u1ea1p h\u01a1n.<\/p>\n<p>HTTP\/1.1 b\u1ed9c l\u1ed9 nhi\u1ec1u h\u1ea1n ch\u1ebf v\u1ec1 hi\u1ec7u su\u1ea5t. V\u1ea5n \u0111\u1ec1 ch\u00ednh l\u00e0 \u0111\u1ed9 tr\u1ec5 (latency) do c\u01a1 ch\u1ebf y\u00eau c\u1ea7u-ph\u1ea3n h\u1ed3i tu\u1ea7n t\u1ef1 v\u00e0 gi\u1edbi h\u1ea1n s\u1ed1 l\u01b0\u1ee3ng k\u1ebft n\u1ed1i TCP \u0111\u1ed3ng th\u1eddi.<\/p>\n<p>Hi\u1ec7n t\u01b0\u1ee3ng &#8220;Head-of-Line blocking&#8221; (HOL blocking) \u1edf t\u1ea7ng HTTP c\u0169ng l\u00e0 m\u1ed9t \u0111i\u1ec3m y\u1ebfu. M\u1ed9t y\u00eau c\u1ea7u ch\u1eadm c\u00f3 th\u1ec3 l\u00e0m t\u1eafc ngh\u1ebdn to\u00e0n b\u1ed9 k\u1ebft n\u1ed1i, d\u00f9 c\u00e1c y\u00eau c\u1ea7u sau \u0111\u00e3 s\u1eb5n s\u00e0ng.<\/p>\n<p>\u0110\u1ec3 gi\u1ea3i quy\u1ebft c\u00e1c v\u1ea5n \u0111\u1ec1 n\u00e0y, Google \u0111\u00e3 ti\u00ean phong ph\u00e1t tri\u1ec3n giao th\u1ee9c th\u1eed nghi\u1ec7m c\u00f3 t\u00ean SPDY (ph\u00e1t \u00e2m l\u00e0 &#8220;Speedy&#8221;) v\u00e0o n\u0103m 2009. SPDY gi\u1edbi thi\u1ec7u nhi\u1ec1u \u00fd t\u01b0\u1edfng \u0111\u1ed9t ph\u00e1.<\/p>\n<p>SPDY t\u1eadp trung v\u00e0o vi\u1ec7c gi\u1ea3m \u0111\u1ed9 tr\u1ec5 t\u1ea3i trang th\u00f4ng qua c\u00e1c k\u1ef9 thu\u1eadt nh\u01b0 multiplexing, n\u00e9n header v\u00e0 \u01b0u ti\u00ean y\u00eau c\u1ea7u. SPDY \u0111\u00e3 ch\u1ee9ng minh hi\u1ec7u qu\u1ea3 r\u00f5 r\u1ec7t.<\/p>\n<p>Th\u00e0nh c\u00f4ng c\u1ee7a SPDY \u0111\u00e3 th\u00fac \u0111\u1ea9y IETF th\u00e0nh l\u1eadp nh\u00f3m l\u00e0m vi\u1ec7c HTTPbis. Nh\u00f3m n\u00e0y c\u00f3 nhi\u1ec7m v\u1ee5 ph\u00e1t tri\u1ec3n phi\u00ean b\u1ea3n HTTP ti\u1ebfp theo, ch\u00ednh l\u00e0 HTTP\/2.<\/p>\n<p>HTTP\/2 k\u1ebf th\u1eeba v\u00e0 chu\u1ea9n h\u00f3a nhi\u1ec1u kh\u00e1i ni\u1ec7m c\u1ed1t l\u00f5i t\u1eeb SPDY. M\u1ee5c ti\u00eau ch\u00ednh c\u1ee7a IETF khi t\u1ea1o ra HTTP\/2 bao g\u1ed3m:<\/p>\n<ul>\n<li>Gi\u1ea3m \u0111\u1ed9 tr\u1ec5 \u0111\u1ec3 c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 t\u1ea3i trang.<\/li>\n<li>H\u1ed7 tr\u1ee3 gh\u00e9p k\u00eanh y\u00eau c\u1ea7u v\u00e0 ph\u1ea3n h\u1ed3i (multiplexing).<\/li>\n<li>N\u00e9n d\u1eef li\u1ec7u ph\u1ea7n \u0111\u1ea7u (header) \u0111\u1ec3 gi\u1ea3m t\u1ea3i.<\/li>\n<li>Th\u00eam c\u01a1 ch\u1ebf \u0111\u1ea9y t\u00e0i nguy\u00ean t\u1eeb m\u00e1y ch\u1ee7 (Server Push).<\/li>\n<li>Duy tr\u00ec t\u00ednh t\u01b0\u01a1ng th\u00edch v\u1ec1 ng\u1eef ngh\u0129a (semantics) v\u1edbi HTTP\/1.1.<\/li>\n<\/ul>\n<p>Qu\u00e1 tr\u00ecnh chu\u1ea9n h\u00f3a ho\u00e0n t\u1ea5t v\u00e0o n\u0103m 2015, \u0111\u00e1nh d\u1ea5u s\u1ef1 ra \u0111\u1eddi ch\u00ednh th\u1ee9c c\u1ee7a HTTP\/2, m\u1edf ra k\u1ef7 nguy\u00ean m\u1edbi cho hi\u1ec7u su\u1ea5t truy\u1ec1n t\u1ea3i web.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cach-hoat-dong-cot-loi-cua-HTTP2\"><\/span>C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ed1t l\u00f5i c\u1ee7a HTTP\/2<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>HTTP\/2 \u0111\u1ea1t \u0111\u01b0\u1ee3c hi\u1ec7u su\u1ea5t v\u01b0\u1ee3t tr\u1ed9i nh\u1edd v\u00e0o vi\u1ec7c thay \u0111\u1ed5i c\u00e1ch d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c \u0111\u1ecbnh d\u1ea1ng v\u00e0 truy\u1ec1n t\u1ea3i gi\u1eefa m\u00e1y kh\u00e1ch (client &#8211; th\u01b0\u1eddng l\u00e0 tr\u00ecnh duy\u1ec7t) v\u00e0 m\u00e1y ch\u1ee7 (server). D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c c\u01a1 ch\u1ebf ch\u00ednh:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-01.jpg\" alt=\"HTTP\/2\" width=\"750\" height=\"422\" class=\"aligncenter size-full wp-image-27874\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-01.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-01-300x169.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Giao-thuc-nhi-phan-Binary-Protocol\"><\/span>Giao th\u1ee9c nh\u1ecb ph\u00e2n (Binary Protocol)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kh\u00e1c bi\u1ec7t c\u01a1 b\u1ea3n \u0111\u1ea7u ti\u00ean l\u00e0 HTTP\/2 s\u1eed d\u1ee5ng \u0111\u1ecbnh d\u1ea1ng nh\u1ecb ph\u00e2n thay v\u00ec \u0111\u1ecbnh d\u1ea1ng v\u0103n b\u1ea3n (text-based) nh\u01b0 HTTP\/1.1.<\/p>\n<p>Trong HTTP\/1.1, d\u1eef li\u1ec7u y\u00eau c\u1ea7u v\u00e0 ph\u1ea3n h\u1ed3i (headers, body) \u0111\u01b0\u1ee3c g\u1eedi d\u01b0\u1edbi d\u1ea1ng v\u0103n b\u1ea3n thu\u1ea7n t\u00fay, d\u1ec5 \u0111\u1ecdc b\u1edfi con ng\u01b0\u1eddi nh\u01b0ng k\u00e9m hi\u1ec7u qu\u1ea3 cho m\u00e1y t\u00ednh x\u1eed l\u00fd.<\/p>\n<p>HTTP\/2 chia nh\u1ecf th\u00f4ng \u0111i\u1ec7p th\u00e0nh c\u00e1c &#8220;khung&#8221; (frames) nh\u1ecb ph\u00e2n. M\u1ed7i frame c\u00f3 \u0111\u1ecbnh d\u1ea1ng r\u00f5 r\u00e0ng, ch\u1ee9a th\u00f4ng tin v\u1ec1 lo\u1ea1i frame, lu\u1ed3ng (stream) v\u00e0 d\u1eef li\u1ec7u c\u1ee5 th\u1ec3.<\/p>\n<p>\u0110\u1ecbnh d\u1ea1ng nh\u1ecb ph\u00e2n gi\u00fap m\u00e1y t\u00ednh ph\u00e2n t\u00edch c\u00fa ph\u00e1p (parsing) nhanh ch\u00f3ng v\u00e0 ch\u00ednh x\u00e1c h\u01a1n. Vi\u1ec7c n\u00e0y c\u0169ng gi\u1ea3m thi\u1ec3u l\u1ed7i do \u0111\u1ecbnh d\u1ea1ng sai (v\u00ed d\u1ee5: kho\u1ea3ng tr\u1eafng th\u1eeba, vi\u1ebft hoa\/th\u01b0\u1eddng).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ghep-kenh-Multiplexing\"><\/span>Gh\u00e9p k\u00eanh (Multiplexing)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 m\u1ed9t trong nh\u1eefng c\u1ea3i ti\u1ebfn quan tr\u1ecdng nh\u1ea5t c\u1ee7a HTTP\/2, gi\u1ea3i quy\u1ebft tr\u1ef1c ti\u1ebfp gi\u1edbi h\u1ea1n k\u1ebft n\u1ed1i c\u1ee7a HTTP\/1.1.<\/p>\n<p>Trong HTTP\/1.1, tr\u00ecnh duy\u1ec7t th\u01b0\u1eddng ph\u1ea3i m\u1edf nhi\u1ec1u k\u1ebft n\u1ed1i TCP song song (th\u01b0\u1eddng l\u00e0 6-8 k\u1ebft n\u1ed1i m\u1ed7i domain) \u0111\u1ec3 t\u1ea3i t\u00e0i nguy\u00ean nhanh h\u01a1n. M\u1ed7i k\u1ebft n\u1ed1i ch\u1ec9 x\u1eed l\u00fd m\u1ed9t c\u1eb7p y\u00eau c\u1ea7u-ph\u1ea3n h\u1ed3i t\u1ea1i m\u1ed9t th\u1eddi \u0111i\u1ec3m.<\/p>\n<p>HTTP\/2 cho ph\u00e9p nhi\u1ec1u &#8220;lu\u1ed3ng&#8221; (streams) y\u00eau c\u1ea7u v\u00e0 ph\u1ea3n h\u1ed3i ch\u1ea1y \u0111\u1ed3ng th\u1eddi tr\u00ean <i>c\u00f9ng m\u1ed9t k\u1ebft n\u1ed1i TCP duy nh\u1ea5t<\/i>.<\/p>\n<p>H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng HTTP\/1.1 nh\u01b0 m\u1ed9t con \u0111\u01b0\u1eddng m\u1ed9t l\u00e0n xe, m\u1ed7i xe (y\u00eau c\u1ea7u) ph\u1ea3i \u0111i l\u1ea7n l\u01b0\u1ee3t. HTTP\/2 gi\u1ed1ng nh\u01b0 m\u1ed9t si\u00eau xa l\u1ed9 nhi\u1ec1u l\u00e0n, nhi\u1ec1u xe c\u00f3 th\u1ec3 ch\u1ea1y song song.<\/p>\n<p>Multiplexing lo\u1ea1i b\u1ecf v\u1ea5n \u0111\u1ec1 Head-of-Line blocking \u1edf t\u1ea7ng HTTP. M\u1ed9t y\u00eau c\u1ea7u ch\u1eadm kh\u00f4ng c\u00f2n l\u00e0m t\u1eafc ngh\u1ebdn c\u00e1c y\u00eau c\u1ea7u kh\u00e1c tr\u00ean c\u00f9ng k\u1ebft n\u1ed1i.<\/p>\n<p>Vi\u1ec7c ch\u1ec9 c\u1ea7n m\u1ed9t k\u1ebft n\u1ed1i TCP c\u0169ng gi\u00fap gi\u1ea3m t\u1ea3i cho c\u1ea3 client v\u00e0 server, ti\u1ebft ki\u1ec7m t\u00e0i nguy\u00ean h\u1ec7 th\u1ed1ng v\u00e0 gi\u1ea3m th\u1eddi gian thi\u1ebft l\u1eadp k\u1ebft n\u1ed1i (TCP handshake, TLS handshake).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Nen-tieu-de-Header-Compression-%E2%80%93-HPACK\"><\/span>N\u00e9n ti\u00eau \u0111\u1ec1 (Header Compression &#8211; HPACK)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>C\u00e1c y\u00eau c\u1ea7u v\u00e0 ph\u1ea3n h\u1ed3i HTTP th\u01b0\u1eddng ch\u1ee9a nhi\u1ec1u th\u00f4ng tin l\u1eb7p \u0111i l\u1eb7p l\u1ea1i trong ph\u1ea7n ti\u00eau \u0111\u1ec1 (headers), v\u00ed d\u1ee5 nh\u01b0 User-Agent, Accept, Cookies.<\/p>\n<p>Trong HTTP\/1.1, nh\u1eefng th\u00f4ng tin n\u00e0y \u0111\u01b0\u1ee3c g\u1eedi \u0111i nguy\u00ean v\u1eb9n v\u1edbi m\u1ed7i y\u00eau c\u1ea7u, g\u00e2y l\u00e3ng ph\u00ed b\u0103ng th\u00f4ng \u0111\u00e1ng k\u1ec3, \u0111\u1eb7c bi\u1ec7t v\u1edbi c\u00e1c y\u00eau c\u1ea7u nh\u1ecf.<\/p>\n<p>HTTP\/2 gi\u1edbi thi\u1ec7u c\u01a1 ch\u1ebf n\u00e9n ti\u00eau \u0111\u1ec1 hi\u1ec7u qu\u1ea3 g\u1ecdi l\u00e0 HPACK. HPACK s\u1eed d\u1ee5ng m\u1ed9t b\u1ea3ng tra c\u1ee9u \u0111\u1ed9ng v\u00e0 m\u00e3 h\u00f3a Huffman t\u0129nh.<\/p>\n<p>HPACK l\u01b0u tr\u1eef c\u00e1c tr\u01b0\u1eddng header ph\u1ed5 bi\u1ebfn v\u00e0 ch\u1ec9 g\u1eedi \u0111i nh\u1eefng thay \u0111\u1ed5i ho\u1eb7c tham chi\u1ebfu \u0111\u1ebfn c\u00e1c gi\u00e1 tr\u1ecb \u0111\u00e3 g\u1eedi tr\u01b0\u1edbc \u0111\u00f3. \u0110i\u1ec1u n\u00e0y gi\u1ea3m m\u1ea1nh k\u00edch th\u01b0\u1edbc d\u1eef li\u1ec7u header.<\/p>\n<p>Vi\u1ec7c gi\u1ea3m k\u00edch th\u01b0\u1edbc header gi\u00fap ti\u1ebft ki\u1ec7m b\u0103ng th\u00f4ng, gi\u1ea3m \u0111\u1ed9 tr\u1ec5 v\u00e0 t\u0103ng t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd y\u00eau c\u1ea7u, \u0111\u1eb7c bi\u1ec7t hi\u1ec7u qu\u1ea3 tr\u00ean c\u00e1c m\u1ea1ng di \u0111\u1ed9ng c\u00f3 b\u0103ng th\u00f4ng h\u1ea1n ch\u1ebf.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Day-may-chu-Server-Push\"><\/span>\u0110\u1ea9y m\u00e1y ch\u1ee7 (Server Push)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Server Push l\u00e0 m\u1ed9t t\u00ednh n\u0103ng cho ph\u00e9p m\u00e1y ch\u1ee7 ch\u1ee7 \u0111\u1ed9ng g\u1eedi c\u00e1c t\u00e0i nguy\u00ean m\u00e0 m\u00e1y ch\u1ee7 d\u1ef1 \u0111o\u00e1n client s\u1ebd c\u1ea7n, ngay c\u1ea3 tr\u01b0\u1edbc khi client y\u00eau c\u1ea7u ch\u00fang.<\/p>\n<p>V\u00ed d\u1ee5, khi client y\u00eau c\u1ea7u trang <code>index.html<\/code>, m\u00e1y ch\u1ee7 bi\u1ebft r\u1eb1ng trang n\u00e0y s\u1ebd c\u1ea7n file <code>style.css<\/code> v\u00e0 <code>script.js<\/code>. M\u00e1y ch\u1ee7 c\u00f3 th\u1ec3 &#8220;\u0111\u1ea9y&#8221; hai file n\u00e0y c\u00f9ng l\u00fac v\u1edbi <code>index.html<\/code>.<\/p>\n<p>\u0110i\u1ec1u n\u00e0y gi\u00fap gi\u1ea3m s\u1ed1 l\u01b0\u1ee3t \u0111i-v\u1ec1 (round-trip time &#8211; RTT) c\u1ea7n thi\u1ebft \u0111\u1ec3 t\u1ea3i trang ho\u00e0n ch\u1ec9nh. Tr\u00ecnh duy\u1ec7t nh\u1eadn \u0111\u01b0\u1ee3c t\u00e0i nguy\u00ean c\u1ea7n thi\u1ebft s\u1edbm h\u01a1n.<\/p>\n<p>Tuy nhi\u00ean, Server Push c\u1ea7n \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng c\u1ea9n th\u1eadn. N\u1ebfu \u0111\u1ea9y t\u00e0i nguy\u00ean m\u00e0 tr\u00ecnh duy\u1ec7t \u0111\u00e3 c\u00f3 trong b\u1ed9 nh\u1edb \u0111\u1ec7m (cache) ho\u1eb7c kh\u00f4ng th\u1ef1c s\u1ef1 c\u1ea7n, s\u1ebd g\u00e2y l\u00e3ng ph\u00ed b\u0103ng th\u00f4ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Uu-tien-luong-Stream-Prioritization\"><\/span>\u01afu ti\u00ean lu\u1ed3ng (Stream Prioritization)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>HTTP\/2 cho ph\u00e9p client ch\u1ec9 \u0111\u1ecbnh m\u1ee9c \u0111\u1ed9 \u01b0u ti\u00ean cho c\u00e1c lu\u1ed3ng (streams) kh\u00e1c nhau.<\/p>\n<p>Tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 y\u00eau c\u1ea7u m\u00e1y ch\u1ee7 g\u1eedi c\u00e1c t\u00e0i nguy\u00ean quan tr\u1ecdng h\u01a1n (nh\u01b0 HTML, CSS ch\u1eb7n hi\u1ec3n th\u1ecb) tr\u01b0\u1edbc c\u00e1c t\u00e0i nguy\u00ean \u00edt quan tr\u1ecdng h\u01a1n (nh\u01b0 h\u00ecnh \u1ea3nh cu\u1ed1i trang).<\/p>\n<p>M\u00e1y ch\u1ee7 c\u00f3 th\u1ec3 d\u1ef1a v\u00e0o th\u00f4ng tin \u01b0u ti\u00ean n\u00e0y \u0111\u1ec3 ph\u00e2n b\u1ed5 t\u00e0i nguy\u00ean (CPU, b\u0103ng th\u00f4ng) m\u1ed9t c\u00e1ch h\u1ee3p l\u00fd, \u0111\u1ea3m b\u1ea3o n\u1ed9i dung ch\u00ednh y\u1ebfu \u0111\u01b0\u1ee3c t\u1ea3i v\u00e0 hi\u1ec3n th\u1ecb nhanh nh\u1ea5t.<\/p>\n<p>Vi\u1ec7c \u01b0u ti\u00ean lu\u1ed3ng gi\u00fap c\u1ea3i thi\u1ec7n tr\u1ea3i nghi\u1ec7m t\u1ea3i trang c\u1ea3m nh\u1eadn \u0111\u01b0\u1ee3c (perceived load time) c\u1ee7a ng\u01b0\u1eddi d\u00f9ng, d\u00f9 t\u1ed5ng th\u1eddi gian t\u1ea3i kh\u00f4ng \u0111\u1ed5i.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"So-sanh-chi-tiet-HTTP2-va-HTTP11\"><\/span>So s\u00e1nh chi ti\u1ebft HTTP\/2 v\u00e0 HTTP\/1.1<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n s\u1ef1 kh\u00e1c bi\u1ec7t, h\u00e3y xem b\u1ea3ng so s\u00e1nh c\u00e1c kh\u00eda c\u1ea1nh ch\u00ednh gi\u1eefa hai giao th\u1ee9c:<\/p>\n<ol>\n<li><strong>\u0110\u1ecbnh d\u1ea1ng Giao th\u1ee9c:<\/strong>\n<ul>\n<li>HTTP\/1.1: D\u1ea1ng v\u0103n b\u1ea3n (Text-based). D\u1ec5 \u0111\u1ecdc cho ng\u01b0\u1eddi, k\u00e9m hi\u1ec7u qu\u1ea3 cho m\u00e1y.<\/li>\n<li>HTTP\/2: D\u1ea1ng nh\u1ecb ph\u00e2n (Binary). Hi\u1ec7u qu\u1ea3 cho m\u00e1y x\u1eed l\u00fd, \u00edt l\u1ed7i h\u01a1n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>X\u1eed l\u00fd K\u1ebft n\u1ed1i:<\/strong>\n<ul>\n<li>HTTP\/1.1: M\u1edf nhi\u1ec1u k\u1ebft n\u1ed1i TCP song song (th\u01b0\u1eddng 6-8\/domain). T\u1ed1n t\u00e0i nguy\u00ean.<\/li>\n<li>HTTP\/2: S\u1eed d\u1ee5ng m\u1ed9t k\u1ebft n\u1ed1i TCP duy nh\u1ea5t (Multiplexing). Ti\u1ebft ki\u1ec7m t\u00e0i nguy\u00ean.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Gh\u00e9p k\u00eanh (Multiplexing):<\/strong>\n<ul>\n<li>HTTP\/1.1: Kh\u00f4ng h\u1ed7 tr\u1ee3 tr\u00ean m\u1ed9t k\u1ebft n\u1ed1i. C\u1ea7n nhi\u1ec1u k\u1ebft n\u1ed1i.<\/li>\n<li>HTTP\/2: H\u1ed7 tr\u1ee3 \u0111\u1ea7y \u0111\u1ee7, cho ph\u00e9p nhi\u1ec1u y\u00eau c\u1ea7u\/ph\u1ea3n h\u1ed3i tr\u00ean 1 k\u1ebft n\u1ed1i.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Head-of-Line Blocking:<\/strong>\n<ul>\n<li>HTTP\/1.1: C\u00f3 \u1edf t\u1ea7ng HTTP (y\u00eau c\u1ea7u ch\u1eadm ch\u1eb7n c\u00e1c y\u00eau c\u1ea7u sau tr\u00ean c\u00f9ng k\u1ebft n\u1ed1i).<\/li>\n<li>HTTP\/2: Lo\u1ea1i b\u1ecf \u1edf t\u1ea7ng HTTP (c\u00e1c lu\u1ed3ng \u0111\u1ed9c l\u1eadp).<\/li>\n<\/ul>\n<\/li>\n<li><strong>N\u00e9n Ti\u00eau \u0111\u1ec1 (Header Compression):<\/strong>\n<ul>\n<li>HTTP\/1.1: Kh\u00f4ng c\u00f3 c\u01a1 ch\u1ebf chu\u1ea9n hi\u1ec7u qu\u1ea3 (ch\u1ec9 c\u00f3 n\u00e9n to\u00e0n b\u1ed9 ph\u1ea3n h\u1ed3i nh\u01b0 Gzip).<\/li>\n<li>HTTP\/2: S\u1eed d\u1ee5ng HPACK, n\u00e9n hi\u1ec7u qu\u1ea3 header l\u1eb7p l\u1ea1i.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u0110\u1ea9y M\u00e1y ch\u1ee7 (Server Push):<\/strong>\n<ul>\n<li>HTTP\/1.1: Kh\u00f4ng h\u1ed7 tr\u1ee3. Client ph\u1ea3i y\u00eau c\u1ea7u m\u1ecdi t\u00e0i nguy\u00ean.<\/li>\n<li>HTTP\/2: H\u1ed7 tr\u1ee3, cho ph\u00e9p server ch\u1ee7 \u0111\u1ed9ng g\u1eedi t\u00e0i nguy\u00ean.<\/li>\n<\/ul>\n<\/li>\n<li><strong>B\u1ea3o m\u1eadt (Encryption):<\/strong>\n<ul>\n<li>HTTP\/1.1: T\u00f9y ch\u1ecdn (HTTP ho\u1eb7c HTTPS).<\/li>\n<li>HTTP\/2: V\u1ec1 l\u00fd thuy\u1ebft l\u00e0 t\u00f9y ch\u1ecdn, nh\u01b0ng th\u1ef1c t\u1ebf h\u1ea7u h\u1ebft tr\u00ecnh duy\u1ec7t <i>y\u00eau c\u1ea7u<\/i> HTTPS.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Nh\u00ecn chung, HTTP\/2 l\u00e0 m\u1ed9t b\u01b0\u1edbc ti\u1ebfn l\u1edbn v\u1ec1 m\u1eb7t k\u1ef9 thu\u1eadt, gi\u1ea3i quy\u1ebft nhi\u1ec1u v\u1ea5n \u0111\u1ec1 c\u1ed1 h\u1eefu c\u1ee7a HTTP\/1.1 \u0111\u1ec3 \u0111\u00e1p \u1ee9ng nhu c\u1ea7u c\u1ee7a web hi\u1ec7n \u0111\u1ea1i.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-vs-HTTP-1-1.jpg\" alt=\"HTTP\/2 vs HTTP\/1.1\" width=\"750\" height=\"422\" class=\"aligncenter size-full wp-image-27878\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-vs-HTTP-1-1.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-vs-HTTP-1-1-300x169.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Loi-ich-chinh-khi-su-dung-HTTP2\"><\/span>L\u1ee3i \u00edch ch\u00ednh khi s\u1eed d\u1ee5ng HTTP\/2<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i sang s\u1eed d\u1ee5ng HTTP\/2 mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch thi\u1ebft th\u1ef1c cho c\u1ea3 ch\u1ee7 s\u1edf h\u1eefu website, nh\u00e0 ph\u00e1t tri\u1ec3n v\u00e0 ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-02.jpg\" alt=\"HTTP\/2\" width=\"750\" height=\"435\" class=\"aligncenter size-full wp-image-27875\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-02.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-02-300x174.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tang-toc-do-tai-trang\"><\/span>T\u0103ng t\u1ed1c \u0111\u1ed9 t\u1ea3i trang<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 l\u1ee3i \u00edch r\u00f5 r\u00e0ng v\u00e0 quan tr\u1ecdng nh\u1ea5t. Nh\u1edd multiplexing, n\u00e9n header, giao th\u1ee9c nh\u1ecb ph\u00e2n, HTTP\/2 gi\u1ea3m \u0111\u00e1ng k\u1ec3 th\u1eddi gian c\u1ea7n thi\u1ebft \u0111\u1ec3 t\u1ea3i to\u00e0n b\u1ed9 t\u00e0i nguy\u00ean c\u1ee7a m\u1ed9t trang web.<\/p>\n<p>Trang web t\u1ea3i nhanh h\u01a1n mang l\u1ea1i tr\u1ea3i nghi\u1ec7m t\u1ed1t h\u01a1n cho ng\u01b0\u1eddi d\u00f9ng, gi\u1ea3m t\u1ef7 l\u1ec7 tho\u00e1t (bounce rate) v\u00e0 t\u0103ng kh\u1ea3 n\u0103ng chuy\u1ec3n \u0111\u1ed5i.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Giam-do-tre\"><\/span>Gi\u1ea3m \u0111\u1ed9 tr\u1ec5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Multiplexing gi\u00fap lo\u1ea1i b\u1ecf th\u1eddi gian ch\u1edd \u0111\u1ee3i do HOL blocking v\u00e0 gi\u1ea3m s\u1ed1 l\u01b0\u1ee3ng k\u1ebft n\u1ed1i c\u1ea7n thi\u1ebft l\u1eadp. N\u00e9n header c\u0169ng gi\u1ea3m l\u01b0\u1ee3ng d\u1eef li\u1ec7u c\u1ea7n truy\u1ec1n.<\/p>\n<p>K\u1ebft qu\u1ea3 l\u00e0 \u0111\u1ed9 tr\u1ec5 t\u1ed5ng th\u1ec3 \u0111\u01b0\u1ee3c gi\u1ea3m thi\u1ec3u, \u0111\u1eb7c bi\u1ec7t quan tr\u1ecdng \u0111\u1ed1i v\u1edbi ng\u01b0\u1eddi d\u00f9ng \u1edf xa m\u00e1y ch\u1ee7 ho\u1eb7c s\u1eed d\u1ee5ng m\u1ea1ng c\u00f3 \u0111\u1ed9 tr\u1ec5 cao nh\u01b0 m\u1ea1ng di \u0111\u1ed9ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Toi-uu-hoa-cho-thiet-bi-di-dong\"><\/span>T\u1ed1i \u01b0u h\u00f3a cho thi\u1ebft b\u1ecb di \u0111\u1ed9ng<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>V\u1edbi \u0111\u1eb7c t\u00ednh gi\u1ea3m \u0111\u1ed9 tr\u1ec5 v\u00e0 ti\u1ebft ki\u1ec7m b\u0103ng th\u00f4ng, HTTP\/2 \u0111\u1eb7c bi\u1ec7t ph\u00f9 h\u1ee3p v\u1edbi m\u00f4i tr\u01b0\u1eddng di \u0111\u1ed9ng. Ng\u01b0\u1eddi d\u00f9ng smartphone v\u00e0 tablet s\u1ebd c\u1ea3m nh\u1eadn r\u00f5 r\u1ec7t s\u1ef1 c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9.<\/p>\n<p>Vi\u1ec7c ch\u1ec9 c\u1ea7n m\u1ed9t k\u1ebft n\u1ed1i TCP c\u0169ng gi\u00fap ti\u1ebft ki\u1ec7m pin cho thi\u1ebft b\u1ecb di \u0111\u1ed9ng so v\u1edbi vi\u1ec7c duy tr\u00ec nhi\u1ec1u k\u1ebft n\u1ed1i nh\u01b0 HTTP\/1.1.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tiet-kiem-bang-thong\"><\/span>Ti\u1ebft ki\u1ec7m b\u0103ng th\u00f4ng<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>K\u1ef9 thu\u1eadt n\u00e9n header HPACK gi\u00fap gi\u1ea3m \u0111\u00e1ng k\u1ec3 l\u01b0\u1ee3ng d\u1eef li\u1ec7u d\u01b0 th\u1eeba trong c\u00e1c ti\u00eau \u0111\u1ec1 y\u00eau c\u1ea7u v\u00e0 ph\u1ea3n h\u1ed3i.<\/p>\n<p>S\u1eed d\u1ee5ng m\u1ed9t k\u1ebft n\u1ed1i duy nh\u1ea5t c\u0169ng hi\u1ec7u qu\u1ea3 h\u01a1n v\u1ec1 m\u1eb7t b\u0103ng th\u00f4ng so v\u1edbi vi\u1ec7c qu\u1ea3n l\u00fd nhi\u1ec1u k\u1ebft n\u1ed1i TCP c\u1ee7a HTTP\/1.1. \u0110i\u1ec1u n\u00e0y c\u00f3 l\u1ee3i cho c\u1ea3 ng\u01b0\u1eddi d\u00f9ng v\u00e0 nh\u00e0 cung c\u1ea5p d\u1ecbch v\u1ee5.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Than-thien-hon-voi-SEO\"><\/span>Th\u00e2n thi\u1ec7n h\u01a1n v\u1edbi SEO<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>T\u1ed1c \u0111\u1ed9 t\u1ea3i trang l\u00e0 m\u1ed9t y\u1ebfu t\u1ed1 \u0111\u01b0\u1ee3c Google s\u1eed d\u1ee5ng trong thu\u1eadt to\u00e1n x\u1ebfp h\u1ea1ng k\u1ebft qu\u1ea3 t\u00ecm ki\u1ebfm. C\u00e1c trang web nhanh h\u01a1n c\u00f3 xu h\u01b0\u1edbng \u0111\u01b0\u1ee3c x\u1ebfp h\u1ea1ng t\u1ed1t h\u01a1n.<\/p>\n<p>B\u1eb1ng c\u00e1ch c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 trang, HTTP\/2 gi\u00e1n ti\u1ebfp h\u1ed7 tr\u1ee3 c\u00e1c n\u1ed7 l\u1ef1c t\u1ed1i \u01b0u h\u00f3a c\u00f4ng c\u1ee5 t\u00ecm ki\u1ebfm (SEO). T\u1ed1c \u0111\u1ed9 t\u1ed1t c\u0169ng c\u1ea3i thi\u1ec7n c\u00e1c ch\u1ec9 s\u1ed1 Core Web Vitals quan tr\u1ecdng.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Yeu-cau-can-thiet-de-trien-khai-HTTP2\"><\/span>Y\u00eau c\u1ea7u c\u1ea7n thi\u1ebft \u0111\u1ec3 tri\u1ec3n khai HTTP\/2<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ec3 website c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng qua giao th\u1ee9c HTTP\/2, c\u1ea7n \u0111\u00e1p \u1ee9ng m\u1ed9t s\u1ed1 \u0111i\u1ec1u ki\u1ec7n k\u1ef9 thu\u1eadt c\u01a1 b\u1ea3n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-03.jpg\" alt=\"HTTP\/2\" width=\"750\" height=\"377\" class=\"aligncenter size-full wp-image-27876\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-03.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-03-300x151.jpg 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-03-360x180.jpg 360w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yeu-cau-ve-HTTPS-SSLTLS\"><\/span>Y\u00eau c\u1ea7u v\u1ec1 HTTPS (SSL\/TLS)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1eb7c d\u00f9 \u0111\u1eb7c t\u1ea3 k\u1ef9 thu\u1eadt c\u1ee7a HTTP\/2 kh\u00f4ng b\u1eaft bu\u1ed9c ph\u1ea3i s\u1eed d\u1ee5ng m\u00e3 h\u00f3a, nh\u01b0ng <i>h\u1ea7u h\u1ebft c\u00e1c tr\u00ecnh duy\u1ec7t web hi\u1ec7n \u0111\u1ea1i<\/i> (Chrome, Firefox, Safari, Edge) ch\u1ec9 h\u1ed7 tr\u1ee3 HTTP\/2 qua k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c m\u00e3 h\u00f3a HTTPS.<\/p>\n<p>HTTPS s\u1eed d\u1ee5ng giao th\u1ee9c SSL\/TLS (Secure Sockets Layer \/ Transport Layer Security) \u0111\u1ec3 m\u00e3 h\u00f3a d\u1eef li\u1ec7u truy\u1ec1n t\u1ea3i. Do \u0111\u00f3, b\u1ea1n c\u1ea7n c\u00e0i \u0111\u1eb7t ch\u1ee9ng ch\u1ec9 SSL\/TLS h\u1ee3p l\u1ec7 cho t\u00ean mi\u1ec1n c\u1ee7a m\u00ecnh.<\/p>\n<p>Vi\u1ec7c y\u00eau c\u1ea7u HTTPS \u0111\u1ea3m b\u1ea3o r\u1eb1ng c\u00e1c t\u00ednh n\u0103ng m\u1edbi c\u1ee7a HTTP\/2 \u0111\u01b0\u1ee3c tri\u1ec3n khai tr\u00ean m\u1ed9t n\u1ec1n t\u1ea3ng b\u1ea3o m\u1eadt, \u0111\u1ed3ng th\u1eddi th\u00fac \u0111\u1ea9y vi\u1ec7c m\u00e3 h\u00f3a to\u00e0n b\u1ed9 web. B\u1ea1n c\u1ea7n \u0111\u1ea3m b\u1ea3o s\u1eed d\u1ee5ng phi\u00ean b\u1ea3n TLS 1.2 tr\u1edf l\u00ean.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ho-tro-tu-Web-Server\"><\/span>H\u1ed7 tr\u1ee3 t\u1eeb Web Server<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u00e1y ch\u1ee7 web (web server) n\u01a1i website c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef ph\u1ea3i \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh \u0111\u1ec3 h\u1ed7 tr\u1ee3 giao th\u1ee9c HTTP\/2.<\/p>\n<p>C\u00e1c web server ph\u1ed5 bi\u1ebfn nh\u01b0 Nginx, Apache, LiteSpeed, Microsoft IIS \u0111\u1ec1u \u0111\u00e3 h\u1ed7 tr\u1ee3 HTTP\/2 trong c\u00e1c phi\u00ean b\u1ea3n g\u1ea7n \u0111\u00e2y. Tuy nhi\u00ean, c\u1ea7n \u0111\u1ea3m b\u1ea3o phi\u00ean b\u1ea3n \u0111\u1ee7 m\u1edbi v\u00e0 c\u1ea5u h\u00ecnh \u0111\u01b0\u1ee3c b\u1eadt \u0111\u00fang c\u00e1ch.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ho-tro-tu-trinh-duyet-Browser-Support\"><\/span>H\u1ed7 tr\u1ee3 t\u1eeb tr\u00ecnh duy\u1ec7t (Browser Support)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ph\u00eda ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i, tr\u00ecnh duy\u1ec7t c\u1ee7a h\u1ecd c\u0169ng c\u1ea7n h\u1ed7 tr\u1ee3 HTTP\/2. May m\u1eafn l\u00e0 h\u1ea7u h\u1ebft c\u00e1c tr\u00ecnh duy\u1ec7t hi\u1ec7n \u0111\u1ea1i tr\u00ean c\u1ea3 m\u00e1y t\u00ednh v\u00e0 di \u0111\u1ed9ng \u0111\u1ec1u \u0111\u00e3 h\u1ed7 tr\u1ee3 \u0111\u1ea7y \u0111\u1ee7 t\u1eeb l\u00e2u.<\/p>\n<p>C\u00e1c tr\u00ecnh duy\u1ec7t ph\u1ed5 bi\u1ebfn nh\u01b0 Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Opera \u0111\u1ec1u h\u1ed7 tr\u1ee3 HTTP\/2. Ng\u01b0\u1eddi d\u00f9ng th\u00f4ng th\u01b0\u1eddng kh\u00f4ng c\u1ea7n lo l\u1eafng v\u1ec1 v\u1ea5n \u0111\u1ec1 n\u00e0y.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Lam-the-nao-de-kiem-tra-Website-co-dang-dung-HTTP2\"><\/span>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 ki\u1ec3m tra Website c\u00f3 \u0111ang d\u00f9ng HTTP\/2?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>C\u00f3 m\u1ed9t s\u1ed1 c\u00e1ch \u0111\u01a1n gi\u1ea3n \u0111\u1ec3 b\u1ea1n ki\u1ec3m tra xem website c\u1ee7a m\u00ecnh ho\u1eb7c b\u1ea5t k\u1ef3 website n\u00e0o kh\u00e1c c\u00f3 \u0111ang s\u1eed d\u1ee5ng giao th\u1ee9c HTTP\/2 hay kh\u00f4ng.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-04.jpg\" alt=\"HTTP\/2\" width=\"750\" height=\"483\" class=\"aligncenter size-full wp-image-27877\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-04.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/HTTP-2-04-300x193.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Su-dung-cong-cu-kiem-tra-online\"><\/span>S\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 ki\u1ec3m tra online<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nhi\u1ec1u c\u00f4ng c\u1ee5 tr\u1ef1c tuy\u1ebfn mi\u1ec5n ph\u00ed cho ph\u00e9p b\u1ea1n nh\u1eadp URL c\u1ee7a website v\u00e0 ki\u1ec3m tra giao th\u1ee9c \u0111ang s\u1eed d\u1ee5ng.<\/p>\n<p>M\u1ed9t s\u1ed1 c\u00f4ng c\u1ee5 ph\u1ed5 bi\u1ebfn bao g\u1ed3m:<\/p>\n<ul>\n<li>KeyCDN HTTP\/2 Test<\/li>\n<li>Geekflare HTTP\/2 Test<\/li>\n<li>Cloudflare Diagnostic Center (n\u1ebfu d\u00f9ng Cloudflare)<\/li>\n<\/ul>\n<p>B\u1ea1n ch\u1ec9 c\u1ea7n truy c\u1eadp c\u00e1c trang n\u00e0y, nh\u1eadp \u0111\u1ecba ch\u1ec9 website v\u00e0 c\u00f4ng c\u1ee5 s\u1ebd cho bi\u1ebft k\u1ebft qu\u1ea3 (th\u01b0\u1eddng c\u00f3 d\u1ea5u t\u00edch xanh ho\u1eb7c th\u00f4ng b\u00e1o r\u00f5 r\u00e0ng n\u1ebfu h\u1ed7 tr\u1ee3 HTTP\/2).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Su-dung-cong-cu-phat-trien-cua-trinh-duyet\"><\/span>S\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n c\u1ee7a tr\u00ecnh duy\u1ec7t<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>B\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng ngay tr\u00ecnh duy\u1ec7t c\u1ee7a m\u00ecnh \u0111\u1ec3 ki\u1ec3m tra. H\u1ea7u h\u1ebft c\u00e1c tr\u00ecnh duy\u1ec7t hi\u1ec7n \u0111\u1ea1i \u0111\u1ec1u c\u00f3 b\u1ed9 c\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n t\u00edch h\u1ee3p.<\/p>\n<p>C\u00e1ch th\u1ef1c hi\u1ec7n (v\u00ed d\u1ee5 tr\u00ean Chrome\/Firefox\/Edge):<\/p>\n<ol>\n<li>Truy c\u1eadp website b\u1ea1n mu\u1ed1n ki\u1ec3m tra.<\/li>\n<li>Nh\u1ea5n ph\u00edm <code>F12<\/code> (ho\u1eb7c chu\u1ed9t ph\u1ea3i -&gt; Inspect\/Inspect Element).<\/li>\n<li>Chuy\u1ec3n sang tab &#8220;Network&#8221; (M\u1ea1ng).<\/li>\n<li>T\u1ea3i l\u1ea1i trang (Nh\u1ea5n <code>F5<\/code> ho\u1eb7c n\u00fat Reload).<\/li>\n<li>Trong danh s\u00e1ch c\u00e1c t\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c t\u1ea3i, t\u00ecm c\u1ed9t c\u00f3 t\u00ean &#8220;Protocol&#8221; (Giao th\u1ee9c).<\/li>\n<li>N\u1ebfu b\u1ea1n th\u1ea5y gi\u00e1 tr\u1ecb nh\u01b0 &#8220;h2&#8221;, &#8220;http\/2&#8221; ho\u1eb7c t\u01b0\u01a1ng t\u1ef1, ngh\u0129a l\u00e0 website \u0111ang s\u1eed d\u1ee5ng HTTP\/2. N\u1ebfu th\u1ea5y &#8220;http\/1.1&#8221;, ngh\u0129a l\u00e0 \u0111ang d\u00f9ng phi\u00ean b\u1ea3n c\u0169.<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Cach-kich-hoat-HTTP2-cho-Website-cua-ban\"><\/span>C\u00e1ch k\u00edch ho\u1ea1t HTTP\/2 cho Website c\u1ee7a b\u1ea1n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c k\u00edch ho\u1ea1t HTTP\/2 th\u01b0\u1eddng li\u00ean quan \u0111\u1ebfn c\u1ea5u h\u00ecnh ph\u00eda m\u00e1y ch\u1ee7 ho\u1eb7c d\u1ecbch v\u1ee5 hosting b\u1ea1n \u0111ang s\u1eed d\u1ee5ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Thong-qua-nha-cung-cap-Web-Hosting\"><\/span>Th\u00f4ng qua nh\u00e0 cung c\u1ea5p Web Hosting<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 ph\u01b0\u01a1ng ph\u00e1p \u0111\u01a1n gi\u1ea3n nh\u1ea5t cho h\u1ea7u h\u1ebft ng\u01b0\u1eddi d\u00f9ng. Nhi\u1ec1u nh\u00e0 cung c\u1ea5p web hosting hi\u1ec7n nay \u0111\u00e3 t\u1ef1 \u0111\u1ed9ng k\u00edch ho\u1ea1t HTTP\/2 cho c\u00e1c g\u00f3i d\u1ecbch v\u1ee5 c\u1ee7a h\u1ecd, \u0111\u1eb7c bi\u1ec7t l\u00e0 c\u00e1c g\u00f3i h\u1ed7 tr\u1ee3 SSL mi\u1ec5n ph\u00ed (Let&#8217;s Encrypt).<\/p>\n<p>H\u00e3y ki\u1ec3m tra trong b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n hosting c\u1ee7a b\u1ea1n (v\u00ed d\u1ee5: cPanel, Plesk) xem c\u00f3 t\u00f9y ch\u1ecdn n\u00e0o li\u00ean quan \u0111\u1ebfn HTTP\/2 ho\u1eb7c SSL\/TLS kh\u00f4ng.<\/p>\n<p>N\u1ebfu kh\u00f4ng t\u00ecm th\u1ea5y ho\u1eb7c kh\u00f4ng ch\u1eafc ch\u1eafn, c\u00e1ch t\u1ed1t nh\u1ea5t l\u00e0 li\u00ean h\u1ec7 b\u1ed9 ph\u1eadn h\u1ed7 tr\u1ee3 k\u1ef9 thu\u1eadt c\u1ee7a nh\u00e0 cung c\u1ea5p hosting \u0111\u1ec3 h\u1ecfi xem HTTP\/2 c\u00f3 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 v\u00e0 k\u00edch ho\u1ea1t cho t\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n ch\u01b0a.<\/p>\n<p>K\u00edch ho\u1ea1t HTTP\/2 th\u01b0\u1eddng \u0111\u01a1n gi\u1ea3n v\u1edbi nh\u00e0 cung c\u1ea5p uy t\u00edn. \u0110\u1ec3 tr\u1ea3i nghi\u1ec7m t\u1ed1c \u0111\u1ed9 t\u1ed1i \u0111a, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o d\u1ecbch v\u1ee5 <span style=\"color: #ff00ff;\"><strong><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/thue-hosting\/\" style=\"color: #ff00ff;\">thu\u00ea Hosting<\/a><\/strong><\/span> uy t\u00edn ch\u1ea5t l\u01b0\u1ee3ng t\u1ea1i InterData. N\u1ec1n t\u1ea3ng ph\u1ea7n c\u1ee9ng AMD EPYC Gen 3, SSD NVMe U.2 mang l\u1ea1i hi\u1ec7u n\u0103ng cao, \u1ed5n \u0111\u1ecbnh. D\u1ecbch v\u1ee5 ch\u1ea5t l\u01b0\u1ee3ng, c\u1ea5u h\u00ecnh m\u1ea1nh ch\u1ec9 t\u1eeb 1K\/ng\u00e0y.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cau-hinh-thu-cong-tren-Web-Server-NginxApache-%E2%80%93-Nang-cao\"><\/span>C\u1ea5u h\u00ecnh th\u1ee7 c\u00f4ng tr\u00ean Web Server (Nginx\/Apache &#8211; N\u00e2ng cao)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>N\u1ebfu b\u1ea1n t\u1ef1 qu\u1ea3n l\u00fd m\u00e1y ch\u1ee7 c\u1ee7a m\u00ecnh, b\u1ea1n c\u1ea7n c\u1ea5u h\u00ecnh tr\u1ef1c ti\u1ebfp tr\u00ean web server. Vi\u1ec7c n\u00e0y \u0111\u00f2i h\u1ecfi ki\u1ebfn th\u1ee9c k\u1ef9 thu\u1eadt v\u1ec1 qu\u1ea3n tr\u1ecb h\u1ec7 th\u1ed1ng.<\/p>\n<ul>\n<li><strong>V\u1edbi Nginx:<\/strong> B\u1ea1n c\u1ea7n \u0111\u1ea3m b\u1ea3o Nginx \u0111\u01b0\u1ee3c bi\u00ean d\u1ecbch v\u1edbi module <code>ngx_http_v2_module<\/code>. Sau \u0111\u00f3, trong kh\u1ed1i <code>server<\/code> c\u1ee7a file c\u1ea5u h\u00ecnh domain, th\u00eam <code>http2<\/code> v\u00e0o sau ch\u1ec9 th\u1ecb <code>listen 443 ssl<\/code>. V\u00ed d\u1ee5: <code>listen 443 ssl http2;<\/code><\/li>\n<li><strong>V\u1edbi Apache:<\/strong> B\u1ea1n c\u1ea7n k\u00edch ho\u1ea1t module <code>mod_http2<\/code> (th\u01b0\u1eddng d\u00f9ng l\u1ec7nh <code>a2enmod http2<\/code>). Sau \u0111\u00f3, trong file c\u1ea5u h\u00ecnh VirtualHost, th\u00eam <code>Protocols h2 http\/1.1<\/code> (ho\u1eb7c <code>Protocols h2c http\/1.1<\/code> n\u1ebfu d\u00f9ng HTTP\/2 kh\u00f4ng m\u00e3 h\u00f3a &#8211; \u00edt ph\u1ed5 bi\u1ebfn).<\/li>\n<\/ul>\n<p>Lu\u00f4n nh\u1edb sao l\u01b0u file c\u1ea5u h\u00ecnh tr\u01b0\u1edbc khi ch\u1ec9nh s\u1eeda v\u00e0 kh\u1edfi \u0111\u1ed9ng l\u1ea1i d\u1ecbch v\u1ee5 web server sau khi thay \u0111\u1ed5i. Tham kh\u1ea3o t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c c\u1ee7a Nginx ho\u1eb7c Apache \u0111\u1ec3 c\u00f3 h\u01b0\u1edbng d\u1eabn chi ti\u1ebft nh\u1ea5t.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"So-luoc-ve-HTTP3\"><\/span>S\u01a1 l\u01b0\u1ee3c v\u1ec1 HTTP\/3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>C\u00f4ng ngh\u1ec7 web kh\u00f4ng ng\u1eebng ph\u00e1t tri\u1ec3n. Ngay c\u1ea3 khi HTTP\/2 \u0111ang \u0111\u01b0\u1ee3c \u00e1p d\u1ee5ng r\u1ed9ng r\u00e3i, phi\u00ean b\u1ea3n ti\u1ebfp theo l\u00e0 HTTP\/3 \u0111\u00e3 xu\u1ea5t hi\u1ec7n v\u00e0 \u0111ang d\u1ea7n \u0111\u01b0\u1ee3c tri\u1ec3n khai.<\/p>\n<p>HTTP\/3 kh\u00f4ng ph\u1ea3i l\u00e0 b\u1ea3n n\u00e2ng c\u1ea5p tr\u1ef1c ti\u1ebfp t\u1eeb HTTP\/2 m\u00e0 l\u00e0 m\u1ed9t s\u1ef1 thay \u0111\u1ed5i n\u1ec1n t\u1ea3ng h\u01a1n. HTTP\/3 s\u1eed d\u1ee5ng giao th\u1ee9c QUIC (Quick UDP Internet Connections) thay v\u00ec TCP.<\/p>\n<p>QUIC ch\u1ea1y tr\u00ean n\u1ec1n UDP (User Datagram Protocol), gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 Head-of-Line blocking \u1edf t\u1ea7ng TCP m\u00e0 HTTP\/2 v\u1eabn c\u00f2n b\u1ecb \u1ea3nh h\u01b0\u1edfng.<\/p>\n<p>M\u1ee5c ti\u00eau ch\u00ednh c\u1ee7a HTTP\/3 l\u00e0 ti\u1ebfp t\u1ee5c gi\u1ea3m \u0111\u1ed9 tr\u1ec5, c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 thi\u1ebft l\u1eadp k\u1ebft n\u1ed1i (0-RTT ho\u1eb7c 1-RTT), v\u00e0 ho\u1ea1t \u0111\u1ed9ng \u1ed5n \u0111\u1ecbnh h\u01a1n tr\u00ean c\u00e1c m\u1ea1ng kh\u00f4ng \u1ed5n \u0111\u1ecbnh ho\u1eb7c b\u1ecb m\u1ea5t g\u00f3i tin.<\/p>\n<p>Hi\u1ec7n t\u1ea1i, HTTP\/3 \u0111ang \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 b\u1edfi nhi\u1ec1u tr\u00ecnh duy\u1ec7t v\u00e0 web server l\u1edbn, nh\u01b0ng vi\u1ec7c tri\u1ec3n khai v\u1eabn c\u00f2n m\u1edbi v\u00e0 ch\u01b0a ph\u1ed5 bi\u1ebfn nh\u01b0 HTTP\/2. HTTP\/2 v\u1eabn l\u00e0 chu\u1ea9n hi\u1ec7n \u0111\u1ea1i v\u00e0 hi\u1ec7u qu\u1ea3 cho h\u1ea7u h\u1ebft c\u00e1c website hi\u1ec7n nay.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cau-hoi-thuong-gap-ve-HTTP2-FAQ\"><\/span>C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 HTTP\/2 (FAQ)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t s\u1ed1 c\u00e2u h\u1ecfi ph\u1ed5 bi\u1ebfn v\u1ec1 giao th\u1ee9c HTTP\/2:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"HTTP2-co-thay-the-hoan-toan-HTTP11-khong\"><\/span>HTTP\/2 c\u00f3 thay th\u1ebf ho\u00e0n to\u00e0n HTTP\/1.1 kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kh\u00f4ng ho\u00e0n to\u00e0n. HTTP\/1.1 v\u1eabn c\u00f2n \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng r\u1ed9ng r\u00e3i. Tuy nhi\u00ean, HTTP\/2 l\u00e0 chu\u1ea9n hi\u1ec7n \u0111\u1ea1i v\u00e0 mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch v\u1ec1 hi\u1ec7u su\u1ea5t, n\u00ean vi\u1ec7c n\u00e2ng c\u1ea5p l\u00e0 r\u1ea5t \u0111\u00e1ng khuy\u1ebfn kh\u00edch. C\u1ea3 hai c\u00f3 th\u1ec3 c\u00f9ng t\u1ed3n t\u1ea1i.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Su-dung-HTTP2-co-ton-them-chi-phi-khong\"><\/span>S\u1eed d\u1ee5ng HTTP\/2 c\u00f3 t\u1ed1n th\u00eam chi ph\u00ed kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Th\u01b0\u1eddng l\u00e0 kh\u00f4ng. Y\u00eau c\u1ea7u ch\u00ednh l\u00e0 ch\u1ee9ng ch\u1ec9 SSL\/TLS, nh\u01b0ng hi\u1ec7n c\u00f3 nhi\u1ec1u l\u1ef1a ch\u1ecdn SSL mi\u1ec5n ph\u00ed (nh\u01b0 Let&#8217;s Encrypt). H\u1ea7u h\u1ebft c\u00e1c nh\u00e0 cung c\u1ea5p hosting uy t\u00edn \u0111\u1ec1u h\u1ed7 tr\u1ee3 HTTP\/2 m\u00e0 kh\u00f4ng t\u00ednh th\u00eam ph\u00ed.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Server-Push-co-phai-luc-nao-cung-tot-khong\"><\/span>Server Push c\u00f3 ph\u1ea3i l\u00fac n\u00e0o c\u0169ng t\u1ed1t kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kh\u00f4ng nh\u1ea5t thi\u1ebft. Server Push c\u00f3 th\u1ec3 ph\u1ea3n t\u00e1c d\u1ee5ng n\u1ebfu \u0111\u1ea9y c\u00e1c t\u00e0i nguy\u00ean m\u00e0 tr\u00ecnh duy\u1ec7t \u0111\u00e3 c\u00f3 trong cache ho\u1eb7c kh\u00f4ng c\u1ea7n \u0111\u1ebfn, g\u00e2y l\u00e3ng ph\u00ed b\u0103ng th\u00f4ng. C\u1ea7n c\u1ea5u h\u00ecnh v\u00e0 s\u1eed d\u1ee5ng t\u00ednh n\u0103ng n\u00e0y m\u1ed9t c\u00e1ch th\u00f4ng minh.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Toi-co-can-sua-doi-code-website-cua-minh-de-dung-HTTP2-khong\"><\/span>T\u00f4i c\u00f3 c\u1ea7n s\u1eeda \u0111\u1ed5i code website c\u1ee7a m\u00ecnh \u0111\u1ec3 d\u00f9ng HTTP\/2 kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Th\u00f4ng th\u01b0\u1eddng l\u00e0 kh\u00f4ng. HTTP\/2 ho\u1ea1t \u0111\u1ed9ng \u1edf t\u1ea7ng giao th\u1ee9c truy\u1ec1n t\u1ea3i. C\u00e1c \u1ee9ng d\u1ee5ng web, m\u00e3 ngu\u1ed3n website (HTML, CSS, JS, PHP&#8230;) kh\u00f4ng c\u1ea7n thay \u0111\u1ed5i \u0111\u1ec3 t\u01b0\u01a1ng th\u00edch v\u1edbi HTTP\/2.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Mat-bao-lau-de-chuyen-doi-sang-HTTP2\"><\/span>M\u1ea5t bao l\u00e2u \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i sang HTTP\/2?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Th\u1eddi gian chuy\u1ec3n \u0111\u1ed5i ph\u1ee5 thu\u1ed9c v\u00e0o m\u00f4i tr\u01b0\u1eddng c\u1ee7a b\u1ea1n. N\u1ebfu nh\u00e0 cung c\u1ea5p hosting h\u1ed7 tr\u1ee3 v\u00e0 \u0111\u00e3 b\u1eadt s\u1eb5n (ho\u1eb7c c\u00f3 n\u00fat b\u1eadt d\u1ec5 d\u00e0ng), vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i di\u1ec5n ra g\u1ea7n nh\u01b0 t\u1ee9c th\u00ec sau khi b\u1ea1n c\u00f3 SSL. N\u1ebfu c\u1ea7n c\u1ea5u h\u00ecnh th\u1ee7 c\u00f4ng tr\u00ean server, th\u1eddi gian ph\u1ee5 thu\u1ed9c v\u00e0o kinh nghi\u1ec7m c\u1ee7a qu\u1ea3n tr\u1ecb vi\u00ean.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTTP\/2 (Hypertext Transfer Protocol version 2) l\u00e0 phi\u00ean b\u1ea3n ch\u00ednh th\u1ee9c th\u1ee9 hai c\u1ee7a giao th\u1ee9c n\u1ec1n t\u1ea3ng cho World Wide Web. Giao th\u1ee9c n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 t\u0103ng t\u1ed1c \u0111\u1ed9 t\u1ea3i trang web, n\u00e2ng cao hi\u1ec7u qu\u1ea3 truy\u1ec1n d\u1eef li\u1ec7u v\u00e0 c\u1ea3i thi\u1ec7n tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng so v\u1edbi phi\u00ean b\u1ea3n ti\u1ec1n nhi\u1ec7m<\/p>\n","protected":false},"author":2,"featured_media":27873,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-27872","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hosting"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=27872"}],"version-history":[{"count":2,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27872\/revisions"}],"predecessor-version":[{"id":27880,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/27872\/revisions\/27880"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/27873"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=27872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=27872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=27872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}