Mark Nottingham ประธานกลุ่มพัฒนามาตรฐาน HTTP/2 ของ IETF เขียนบล็อกระบุว่ามาตรฐาน HTTP/2 นั้นใกล้จะสมบูรณ์แล้ว เขาจึงมาตอบคำถามว่าหลังจากมี HTTP/2 แล้วจะมีอะไรเกิดขึ้นบ้าง

  1. API เหมือนเดิม HTTP/2 ยังคงใช้ API ชุดเดียวกับ HTTP/1 ถ้าเซิร์ฟเวอร์รองรับก็น่าจะนำโค้ดเดิมไปใช้งานได้ทั นที โดยอาจจะมี API ใหม่ๆ บ้างแต่ก็เป็นแค่ทางเลือกเพิ่มเติมที่เบราว์เซอร์และ เซิร์ฟเวอร์อาจจะไม่รองรับ
  2. การ Request มีค่าใช้จ่ายน้อยลง ปัญหาของ HTTP/1 คือการเรียก HTTP Request แต่ละครั้งมีค่าใช้จ่ายสูงมาก จากการที่ต้องรอ request ก่อนหน้าให้ส่งข้อมูลครบเสียก่อน และ header ขนาดใหญ่ ระบบ multiplexing ใน HTTP/2 จะช่วยให้ request ขนาดเล็กแทรกกลางขณะที่กำลังส่ง request ขนาดใหญ่ได้ และ header ใน HTTP/2 ก็มีการบีบอัด
  3. เป็นมิตรกับเครือข่ายและเซิร์ฟเวอร์ จากข้อ 2. เมื่อใช้จำนวน connection น้อยลง เซิร์ฟเวอร์และเครือข่ายก็น่าจะโหลดน้อยลงด้วย จากเดิมที่ทุกวันนี้เว็บหนึ่งๆ อาจจะเปิดการเชื่อมต่อหลายๆ ครั้งพร้อมกันไปยังเซิร์ฟเวอร์ แถมหน้าเว็บแต่ละหน้าอาจจะเชื่อมต่อหลายเซิร์ฟเวอร์
  4. Cache Pushing HTTP/2 เปิดให้เซิร์ฟเวอร์สามารถส่งข้อมูลบางอย่างที่เบราว์ เซอร์น่าจะได้ใช้งานในอนาคตไปล่วงหน้าได้ เช่น เมื่อเข้าหน้าเว็บหน้าแรก เซิร์ฟเวอร์อาจจะส่ง CSS ทั้งหมดมาให้ในครั้งเดียว เพื่อให้เก็บไว้ใช้งานต่อๆ ไป
  5. เบราว์เซอร์ยกเลิก request ได้ ใน HTTP/1 หากเบราว์เซอร์ส่ง request ไปแล้ว และเปลี่ยนใจไม่รับข้อมูล เช่น ผู้ใช้กดปุ่มยกเลิก ทางเลือกเดียวที่จะแจ้งยกเลิกเซิร์ฟเวอร์ได้คือการตั ดการเชื่อมต่อทิ้ง แต่ใน HTTP/2 จะมีข้อมูล RST_STREAM เพื่อยกเลิกข้อมูลที่ร้องขอไปแล้ว แต่ยังเก็บการเชื่อมต่อไว้ใช้งานอย่างอื่นต่อไป
  6. เข้ารหัสมากขึ้น ประเด็นการเข้ารหัสเป็นประเด็นร้อนของ HTTP/2 อย่างไรก็ดีตอนนี้ HTTP/2 ยังไม่บังคับให้ต้องเข้ารหัสเสมอ แต่หากเข้ารหัสประสิทธิภาพโดยรวมของการใช้งานก็จะดีก ว่าใน HTTP/1 ในตอนนี้ Chrome และ Firefox ระบุว่าจะใช้ HTTP/2 เฉพาะเมื่อเข้ารหัสแล้วเสมอ
  7. Binary โพรโตคอลเดิมที่สามารถ telnet ไปยังเซิร์ฟเวอร์เพื่อส่งคำสั่งได้โดยตรงจะทำไม่ได้ใน HTTP/2 อีกแล้ว ปัญหาของ HTTP/1 ที่ใช้ข้อความที่คนอ่านออกได้สร้างความยุ่งยากในการอ ิมพลีเมนต์หลายอย่าง
  8. ต้องใช้เวลาเรียนรู้กันสักระยะ การเปลี่ยนไปใช้ HTTP/2 จะไม่ได้เพิ่มประสิทธิภาพเว็บทันตาเห็นอย่างที่หลายค นหวัง แต่ต้องใช้เวลาปรับตัวเพื่อให้เว็บต่างๆ ปรับตัวเข้ากับฟีเจอร์ของ HTTP/2 ตัวอย่างเช่นการรวมการเชื่อมต่อไปยังเซิร์ฟเวอร์เป็น การเชื่อมต่อเดียวต่อหนึ่งเซิร์ฟเวอร์ในบางครั้งก็มี ผลเสีย
  9. แนวทางสำหรับ HTTP/3 HTTP/1 ถูกใช้งานมาแล้วถึงสิบห้าปี การปรับไปใช้ HTTP/2 จะเป็นบทเรียนสำคัญสำหรับการปรับปรุงโพรโตคอลในอนาคต หากเราสามารถเปลี่ยนไปใช้ HTTP/2 ได้ดี ก็จะมีบทเรียนว่าในอนาคตเราสามารถปรับปรุงเพิ่มเติมเ ป็น HTTP/3 ได้ด้วย

ร่างมาตรฐานล่าสุดสามารถเข้าไปอ่านได้ใน GitHub ครับ
ที่มา - Mark Nottingham
HTTP, IETF, Internet, Open Standard




อ่านต่อ...