HTTP/2 และ HTTP/3 คืออะไร Hosting รองรับหรือยัง

โปรโตคอลที่เว็บไซต์ใช้สื่อสารกับเบราว์เซอร์ก็มีผลต่อความเร็วเว็บไซต์เหมือนกัน

HTTP/2 และ HTTP/3 คืออะไร Hosting รองรับหรือยัง Performance

HTTP/1.1, HTTP/2, และ HTTP/3 ต่างกันอย่างไร?

HTTP (HyperText Transfer Protocol) คือโปรโตคอลที่เบราว์เซอร์ใช้ติดต่อกับเซิร์ฟเวอร์ของเว็บไซต์ HTTP มีหลายเวอร์ชัน แต่ละเวอร์ชันได้รับการปรับปรุงเพื่อทำให้ความเร็วเร็วขึ้น

ทำไม HTTP/2 และ HTTP/3 ช่วยให้เว็บโหลดเร็ว?

HTTP/1.1 มีปัญหาคอขวดในการส่งข้อมูล คุณจินตนาการว่า:

HTTP/1.1: เบราว์เซอร์ร้องขอ HTML ต้องรอให้เซิร์ฟเวอร์ส่ง HTML เรียบร้อย แล้วจึงร้องขอ CSS จากนั้นรอ CSS เรียบร้อย แล้วจึงร้องขอ JavaScript... เป็นแบบต่างคิวยาว ทั้งหมดนี้ใช้เวลา

HTTP/2: เบราว์เซอร์ส่ง HTML CSS JavaScript รูป ทั้งหมดพร้อมกันผ่านเชื่อมต่อเดียว เซิร์ฟเวอร์ตอบกลับพร้อมกันทั้งหมด ไม่ต้องรอตัวต่อตัว

HTTP/3: นอกจากจะส่งพร้อม ยังใช้ QUIC Protocol ที่เร็วกว่า TCP ทำให้ Connection เสถียร และ Latency ต่ำกว่า HTTP/2 อีก นี่คือจุดที่ทำให้ HTTP/3 เร็วที่สุด

อีกประโยชน์ของ HTTP/2 และ HTTP/3:

วิธีตรวจสอบว่า Hosting ของคุณรองรับ HTTP/2 หรือ HTTP/3

ไม่ทุก Hosting Provider รองรับ HTTP/2 หรือ HTTP/3 คุณต้องตรวจสอบก่อน ว่า Hosting ของคุณใช้โปรโตคอลใหม่หรือยัง

วิธีที่ 1: ใช้เครื่องมือออนไลน์ (ง่ายที่สุด)

เปิดเว็บไซต์นี้: https://http2.pro/ หรือ https://www.http2check.com/ ใส่ URL ของเว็บไซต์ของคุณ เครื่องมือจะบอกว่าเซิร์ฟเวอร์รองรับ HTTP/2, HTTP/1.1 หรือ HTTP/3

วิธีที่ 2: ใช้ curl Command (ผ่าน Terminal)

ถ้าใช้ Mac หรือ Linux เปิด Terminal แล้วใช้คำสั่ง:

# ตรวจสอบรุ่น HTTP
curl -I --http2 https://yourdomain.com

# ผลลัพธ์ถ้าใช้ HTTP/2 จะเห็น:
# HTTP/2 200

# ถ้ายังเป็น HTTP/1.1 จะเห็น:
# HTTP/1.1 200 OK

วิธีที่ 3: ดู HTTP Header ใน DevTools

เปิดเว็บไซต์ของคุณใน Chrome หรือ Firefox จากนั้น:

  1. กด F12 เพื่อเปิด DevTools
  2. ไปที่ Network tab
  3. รีเฟรชหน้า
  4. คลิกที่ Request แรก (HTML)
  5. ดู Headers section ค้นหา "Protocol" หรือ "Transfer Protocol" จะแสดงว่าใช้ h2 (HTTP/2) หรือ http/1.1

อันตรายกับเว็บโฮสติ้ง cPanel

HTTP/2 ต้องใช้ SSL/HTTPS จึงทำงาน หากเว็บไซต์ของคุณไม่มี SSL Certificate ก็ยังคงใช้ HTTP/1.1 ได้เท่านั้น นอกจากนี้ เว็บโฮสติ้งบางแห่งใช้ Apache webserver ตัวเก่า หรือ LiteSpeed แล้วแต่ Hosting Provider บาง Provider ยังไม่ติดตั้ง Module http2 จึง ไม่รองรับ HTTP/2 แต่ CloudFlare CDN รองรับ HTTP/2 และ HTTP/3 เสมอ ถึงแม้เซิร์ฟเวอร์ Hosting ไม่รองรับก็ตาม

สำหรับผู้ที่ใช้ CloudFlare

ถ้าคุณใช้ CloudFlare CDN ผู้เยี่ยมชมจะได้รับ HTTP/2 และ HTTP/3 โดยอัตโนมัติ แม้เซิร์ฟเวอร์ Hosting เดิมไม่รองรับ CloudFlare ทำหน้าที่เป็นผู้กลางและจัดการการส่งข้อมูลให้มีประสิทธิภาพ


ตรวจสอบว่า HTTP/2 ทำงานถูกต้อง

หลังจากยืนยันว่า Hosting รองรับ HTTP/2 ให้ทดสอบด้วยขั้นตอนต่อไปนี้:

# 1. ตรวจสอบ HTTP Version ใน Response Header
curl -I https://yourdomain.com

# 2. ตรวจสอบว่า HTTPS ทำงาน (HTTP/2 ต้องใช้ HTTPS)
openssl s_client -connect yourdomain.com:443

# 3. ลองใน DevTools Network tab ดู Protocol column
# ต้องเห็น h2 หรือ h3 ไม่ใช่ http/1.1

# 4. ทดสอบความเร็วการโหลด ก่อนและหลังเปิด HTTP/2
# ใช้เครื่องมือ GTmetrix, PageSpeed Insights, Lighthouse
Tip: ถ้าหลังเปิด HTTP/2 แล้วความเร็วไม่เปลี่ยนแปลงมากนัก อาจเป็นเพราะตัวปัญหาอื่นเช่น Database ช้า Plugin มากเกินไป หรือรูปภาพใหญ่ ลองหา Bottleneck อื่นก่อน

แก้ปัญหาที่พบบ่อย

Error: "Hosting ไม่รองรับ HTTP/2"

Hosting Provider ยังใช้ Apache แบบเก่า หรือ LiteSpeed ที่ยังไม่เปิดใช้ mod_http2 ติดต่อ Hosting Provider ขอให้เปิดใช้งาน HTTP/2 หรือ upgrade webserver หากไม่ได้ ให้ใช้ CloudFlare CDN เพื่อให้ผู้เยี่ยมชมได้ HTTP/2 อยู่ดี

Error: "ใช้ HTTP/2 แล้วแต่เว็บยังช้า"

HTTP/2 ช่วยลดปัญหา Latency แต่ไม่ใช่วิธีแก้ยาว ปัญหาอื่นเช่น Plugin ช้า Database มีปัญหา รูปภาพขนาดใหญ่ CSS/JavaScript ไม่ได้บีบอัด จะยังคงทำให้เว็บช้า ให้หาปัญหาอื่น เช่นลองเปิด cPanel ดู Load Average ว่าไม่สูงเกิน

Error: "HTTP/3 ไม่ทำงาน แม้ว่าตรวจสอบแล้วมี"

HTTP/3 ใช้ QUIC Protocol ที่เป็นอัตโนมัติ แต่บาง Firewall หรือ ISP ยังบล็อก UDP Port 443 ที่ HTTP/3 ใช้งาน ผู้เยี่ยมชมจะโดยอัตโนมัติ Fallback ไปใช้ HTTP/2 หรือ HTTP/1.1 แทน ไม่ต้องกังวลเพราะ HTTP/3 ยังคงทำงาน แต่ผ่าน TCP ลดลง

Error: "DevTools บอกว่า HTTP/1.1 แม้ว่า curl บอก HTTP/2"

อาจเป็นเพราะเบราว์เซอร์ cache ข้อมูลเก่า ลองล้าง Cache (Ctrl+Shift+Delete) หรือเปิด Incognito Mode ใหม่ หรือลองเบราว์เซอร์อื่น

Error: "CloudFlare บอก HTTP/3 แล้วแต่ยังไม่เห็นความเร็วเพิ่ม"

HTTP/3 ยังใหม่ และเบราว์เซอร์บางตัวหรือมือถือบางรุ่นยังไม่รองรับเต็มที่ สำหรับส่วนใหญ่ HTTP/2 ก็พอ ลองใช้ Lighthouse ในเบราว์เซอร์ Chrome ดู Performance Score ดีขึ้นไหม


คำถามที่พบบ่อย

Q: ต้องเปลี่ยน Code เพื่อให้รองรับ HTTP/2 หรือ HTTP/3 หรือไม่?

A: ไม่ต้อง HTTP/2 และ HTTP/3 เป็นการเปลี่ยนแปลงใน Protocol Layer ที่เซิร์ฟเวอร์จัดการ Code HTML, CSS, JavaScript ของเว็บไซต์ไม่ต้องเปลี่ยน เพียงแค่เซิร์ฟเวอร์รองรับ Protocol นั้นก็ได้รับประโยชน์เสร็จเรียบร้อย

Q: ถ้า Hosting ไม่รองรับ HTTP/2 ควรทำอย่างไร?

A: มีสามทางเลือก 1) ติดต่อ Hosting Provider ขอให้เปิด HTTP/2 2) ใช้ CloudFlare CDN ฟรี ซึ่งรองรับ HTTP/2 และ HTTP/3 โดยอัตโนมัติ 3) Upgrade Hosting เป็นแผนที่ใหม่กว่า ที่อาจใช้ Apache 2.4+ หรือ LiteSpeed

Q: HTTP/2 และ HTTP/3 ใช้ Data สูงกว่า HTTP/1.1 หรือไม่?

A: ไม่ HTTP/2 และ HTTP/3 มีการบีบอัด Header (Header Compression) ทำให้ใช้ Data น้อยลง ไม่ว่าคุณจะใช้ Protocol ไหน Data ที่อัพลักษณ์ (Upload) และดาวน์โหลด (Download) ปกติจะเท่าเดิม เพียงแต่ว่า HTTP/2 และ HTTP/3 ส่งได้เร็ว