HTTP Evolution
HTTP Evolution วิวัฒนาการและความต่าง HTTP/1.1 vs HTTP/2 vs HTTP/3
เว็บช้า โหลดนาน? บางทีปัญหาอาจจะไม่ได้อยู่ที่โค้ด แต่อยู่ที่ Protocol!
HTTP/1.1 – ยุคคลาสสิก (The Old Way)
ทำงานบน TCP แบบส่งทีละคำสั่ง (Sequential) ปัญหาหลักคือเกิดการต่อคิวรอ หรือที่เรียกว่า Head-of-Line Blocking ที่ระดับ Application ถ้า Request แรกโหลดช้า ตัวหลังๆ ก็ต้องรอกันยาวๆ
HTTP/2 – ฉลาดขึ้น เร็วขึ้น (Smarter, Faster)
อัปเกรดมาใช้ Binary Protocol และทำ Multiplexing ส่งหลายๆ Stream สวนกันไปมาได้ใน 1 TCP Connection เดียว แถมมีการบีบอัด Header ทำให้เบาขึ้นเยอะ
⚠️ ข้อควรระวัง: ถึงจะแก้ปัญหาที่ระดับแอปพลิเคชันได้ แต่ด้วยความที่ฐานยังเป็น TCP ถ้าเกิดเน็ตสะดุด (Packet Loss) มันก็จะยังเกิด Blocking ที่ระดับ Transport Layer อยู่ดี
HTTP/3 – อนาคตอยู่ที่นี่แล้ว (The Future is Here)
ฉีกกฎเดิมๆ เปลี่ยนฐานรากไปใช้ QUIC Protocol ที่รันบน UDP ทลายข้อจำกัด Blocking อย่างสมบูรณ์แบบ! แต่ละ Stream แยกขาดจากกัน แถมมาพร้อมฟีเจอร์ 0-RTT เชื่อมต่อใหม่ไวปรี๊ด และบังคับใช้การเข้ารหัส TLS 1.3 แบบ Built-in เพื่อความปลอดภัยสูงสุด
(Which Should You Use?):
ระบบเก่าที่เป็น Legacy อาจจะยังพึ่งพา HTTP/1.1 อยู่ แต่สำหรับ Modern Apps ในปัจจุบันควรยืนพื้นกันที่ HTTP/2 เป็นอย่างน้อย และถ้าต้องการ Best Performance ขั้นสุด แนะ นำให้เปิดใช้งาน HTTP/3 ควบคู่ไปด้วย























