ดู HTTP/2 ให้ละเอียดยิ่งขึ้น: มันทำงานอย่างไรและมีความหมายอย่างไรสำหรับเว็บ

เผยแพร่แล้ว: 2023-02-09

ในปี 2558 โปรโตคอลเครือข่าย HTTP เวอร์ชันใหม่ — HTTP/2 ได้รับการอนุมัติ ตอนนี้มันได้รับความนิยมมากขึ้นเรื่อย ๆ โปรโตคอลรองรับเว็บเซิร์ฟเวอร์ Apache และ Nginx, Chrome, Firefox, Opera, Edge และ Safari รวมถึงอุปกรณ์พกพาแล้ว

จำนวนบริการและไซต์ HTTP/2 เพิ่มขึ้นอย่างต่อเนื่อง ในอนาคตอันใกล้ อินเทอร์เน็ตกำลังรอการเปลี่ยนไปใช้โปรโตคอลใหม่ ซึ่งจะเร่งการดาวน์โหลดเว็บไซต์

มาดูกันว่าสิ่งนี้จะส่งผลต่อการสร้างเว็บไซต์ SEO และด้านอื่นๆ อย่างไร

สารบัญ
HTTP/2 คืออะไร
ความแตกต่างระหว่าง HTTP และ HTTP 2
ข้อดีและข้อเสียของ HTTP/2
เหตุใดโลกจึงต้องการ HTTP/2
HTTP/2 เร็วกว่าจริงหรือ?
เหตุใด HTTP/2 จึงทำงานได้เร็วกว่า
เหตุใดการเร่งความเร็วในการโหลดหน้าเว็บไซต์จึงมีความสำคัญ
วิธีการใช้ HTTP 2?
บทสรุป
คำถามที่พบบ่อย

HTTP/2 คืออะไร

http 2
เอชทีทีพี 2

มีการใช้โปรโตคอล HTTP/1.1 มาตั้งแต่ปี 1999 และเมื่อเวลาผ่านไปก็เกิดปัญหาสำคัญประการหนึ่ง ไซต์สมัยใหม่แตกต่างจากที่เคยเป็นที่นิยมในปี 1999 โดยใช้องค์ประกอบต่างๆ มากมาย: สคริปต์ JavaScript, รูปแบบ CSS และบางครั้งก็ใช้ภาพเคลื่อนไหวแบบแฟลช เมื่อคุณถ่ายโอนทั้งหมด เบราว์เซอร์และเซิร์ฟเวอร์จะสร้างการเชื่อมต่อหลายรายการ

โปรโตคอล HTTP/2 ช่วยเพิ่มความเร็วเว็บไซต์ได้อย่างมากเนื่องจากคุณสมบัติดังต่อไปนี้:

  • การเชื่อมต่อ: สามารถส่งคำขอหลายรายการผ่านการเชื่อมต่อ TCP เดียว และสามารถรับการตอบกลับตามลำดับใดก็ได้ ไม่จำเป็นต้องเก็บการเชื่อมต่อ TCP หลายรายการ
  • ลำดับความสำคัญของเธรด: ลูกค้าสามารถกำหนดลำดับความสำคัญของเซิร์ฟเวอร์ได้ — ทรัพยากรประเภทใดที่มีความสำคัญต่อเขามากกว่าทรัพยากรอื่นๆ
  • การบีบอัดส่วนหัว: ขนาดของส่วนหัว HTTP สามารถลดลงได้
  • การส่งข้อมูลแบบพุชจากฝั่งเซิร์ฟเวอร์: เซิร์ฟเวอร์สามารถส่งข้อมูลที่ยังไม่ได้ร้องขอไปยังไคลเอ็นต์ เช่น ตามข้อมูลเกี่ยวกับหน้าถัดไปที่ผู้ใช้กำลังจะเปิด

การพัฒนาโปรโตคอล HTTP 2 ใช้โปรโตคอล SPDY ซึ่งพัฒนาโดย Google แต่ Google ได้ประกาศแล้วว่าจะปฏิเสธการสนับสนุน SPDY เพิ่มเติมสำหรับ HTTP/2 ที่มีแนวโน้มสูงกว่า

อ่าน: เหตุใดไซต์ WordPress ของคุณจึงช้าและจะเร่งความเร็วได้อย่างไร

คุณสมบัติที่สำคัญของ HTTP/2

  • มัลติเพล็กซ์
  • พุชเซิร์ฟเวอร์
  • การบีบอัดส่วนหัว
  • การจัดลำดับความสำคัญของสตรีม
  • การควบคุมการไหล

ความแตกต่างระหว่าง HTTP และ HTTP 2

การเปลี่ยนแปลงที่เกิดขึ้นกับโปรโตคอลแรกไม่จำเป็นต้องมีการเปลี่ยนแปลงมากมายในวิธีการทำงานของแอปพลิเคชัน แม้ว่าจะมีข้อได้เปรียบสำหรับแอปพลิเคชันใหม่ซึ่งจะทำงานด้วยความเร็วที่เพิ่มขึ้น ความแตกต่างที่สำคัญระหว่างสองโปรโตคอลได้รับการเปรียบเทียบด้านล่าง:

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

ด้านล่างนี้คือการแสดงภาพที่ดีของความแตกต่างพื้นฐานระหว่าง HTTP/1 และ HTTP/2 (เอื้อเฟื้อข้อมูล: http://ruzhekov.com )

nginx http/2
nginx http/2

ข้อดีและข้อเสียของ HTTP/2

ข้อดี

  • ปรับปรุงความเร็วในการโหลดหน้าเว็บ
  • ใช้ทรัพยากรเครือข่ายได้ดีขึ้น
  • ประสบการณ์การใช้งานที่เพิ่มขึ้น
  • เข้ากันได้ดีกว่ากับเทคโนโลยีเว็บสมัยใหม่

ข้อเสีย

  • โปรโตคอลดังกล่าวไม่สอดคล้องกันและซับซ้อน
  • ละเมิดหลักการของชั้นโปรโตคอล
  • มาพร้อมกับต้นทุนการเข้ารหัสที่สูง
  • เข้ากันไม่ได้กับอุปกรณ์บางอย่าง เช่น เราเตอร์
  • ไม่มีการเข้ารหัสฉวยโอกาส

เหตุใดโลกจึงต้องการ HTTP/2

  • HTTP ได้รับการอธิบายครั้งแรกในปี 1991 และเวอร์ชันล่าสุด HTTP/1.1 ได้รับการอนุมัติในปี 1999 และยังคงใช้อยู่ในปัจจุบัน
  • ขนาดเว็บไซต์เพิ่มขึ้นอย่างมากในช่วงหลายปีที่ผ่านมา ทำให้โหลดช้าและจำกัดจำนวนการเชื่อมต่อพร้อมกันโดยใช้ HTTP/1.1
  • มีการดำเนินการแก้ไขปัญหาชั่วคราว เช่น การเพิ่มประสิทธิภาพการโหลดเว็บไซต์ แต่เสนอวิธีแก้ปัญหาระยะสั้นเท่านั้น
  • วิศวกรของ Google เริ่มปรับปรุงโปรโตคอลในปี 2009 ซึ่งนำไปสู่การสร้างโปรโตคอล SPDY ซึ่งเร็วกว่าและรองรับโดยเบราว์เซอร์ส่วนใหญ่ แต่ต้องการการสนับสนุนฝั่งเซิร์ฟเวอร์
  • HTTP/2 ขึ้นอยู่กับ SPDY และเข้ากันได้กับ HTTP/1.1 แบบย้อนหลัง ไม่จำเป็นต้องอัปเกรดทันที แต่ในที่สุด ไซต์อาจโหลดช้าลงในโปรโตคอลรุ่นเก่า

HTTP/2 เร็วกว่าจริงหรือ?

ผู้เชี่ยวชาญ HttpWatch ทำการทดสอบหลายครั้งและพบว่า HTTP 2 มีการเร่งความเร็วอย่างมาก

ภาพหน้าจอด้านล่างแสดงความเร็วในการดาวน์โหลดของหน้าโดยใช้ HTTP / 1.1:

http 2 ss1
http2 SS1

และในภาพหน้าจอนี้ ผลลัพธ์ของการใช้ HTTP 2:

http 2 ss2
HTTP 2 เอสเอส 2

ความเร็วในการดาวน์โหลดเพิ่มขึ้น 23% ผู้เชี่ยวชาญของ HttpWatch ยังทราบด้วยว่าเทคโนโลยีนี้ยังไม่ได้รับการปรับให้เหมาะสมอย่างเต็มที่ และคาดว่าจะมีการเร่งความเร็วที่แท้จริงสูงถึง 30%

เหตุใด HTTP/2 จึงทำงานได้เร็วกว่า

  • คำขอหลายรายการที่ส่งภายในการเชื่อมต่อเดียวกันใน HTTP/2 (การมัลติเพล็กซ์) ทำให้โหลดองค์ประกอบสแตติกได้เร็วขึ้น
  • การบีบอัดส่วนหัว HTTP ใน HTTP/2 ลดปริมาณข้อมูลระหว่างเซิร์ฟเวอร์และเบราว์เซอร์ ทำให้ทรัพยากรว่าง
  • ปรับปรุงการรักษาความปลอดภัยด้วยการเชื่อมต่อที่เข้ารหัสสำหรับการรองรับ HTTP/2 โดยเบราว์เซอร์ตามเทรนด์ (Google Chrome, Mozilla Firefox)
  • การเปลี่ยนแปลงลำดับความสำคัญใน HTTP/2 โดยการจัดลำดับความสำคัญเป็นวิธีที่พึงประสงค์สำหรับการทำงานของมัลติเพล็กซิ่งที่เหมาะสม
  • การขาดการกำหนดค่าการจัดลำดับความสำคัญใน HTTP/2 อาจทำให้ความเร็วลดลง เนื่องจากทรัพยากรที่สามารถโหลดได้ในภายหลังจะใช้แถบแยกต่างหากและพลังงานส่วนหนึ่ง

เหตุใดการเร่งความเร็วในการโหลดหน้าเว็บไซต์จึงมีความสำคัญ

  • การรองรับ HTTP 2 ไม่ใช่ปัจจัยการจัดอันดับโดยตรงสำหรับ Google
  • ความเร็วในการดาวน์โหลดเป็นปัจจัยสำคัญสำหรับการจัดอันดับของ Google
  • HTTP/2 สามารถส่งผลในเชิงบวกต่อความเร็วของเว็บไซต์และส่งผลในเชิงบวกต่อการจัดอันดับเนื่องจากปัจจัยด้านพฤติกรรม
  • หน้าที่เร็วกว่ามีอัตราความล้มเหลวต่ำกว่า และอาจส่งผลให้ผู้ใช้มีส่วนร่วมมากขึ้น
  • Google Bot จะรองรับ HTTP/2 เร็วๆ นี้
  • HTTP 2 อาจกลายเป็นปัจจัยอันดับในอนาคตเนื่องจากเครื่องมือค้นหาเปลี่ยนอัลกอริทึม

ประโยชน์สำหรับนักพัฒนาเว็บ

HTTP 2 ช่วยให้คุณกำจัดกลอุบายเก่าๆ ซึ่งออกแบบมาเพื่อเพิ่มความเร็วในการโหลดหน้าเว็บโดยไม่ต้องใช้ HTTP/2 เราแสดงรายการ:

  • การแชร์โดเมนหรือการใช้โดเมนที่เกี่ยวข้องหลายโดเมนเพื่อดาวน์โหลดไฟล์เพื่อเปิดใช้งานการเชื่อมต่อ TCP เพิ่มเติม
  • Sprites of pictures — รวมรูปภาพไว้ในไฟล์เดียวเพื่อลดจำนวนคำขอ อย่างไรก็ตาม ไฟล์ดังกล่าวจะต้องโหลดให้สมบูรณ์ก่อนจึงจะแสดงได้ นอกจากนี้ การประมวลผลไฟล์ขนาดใหญ่จะใช้หน่วยความจำมากกว่า
  • รวมไฟล์ CSS และ JavaScript ซึ่งทำเพื่อลดจำนวนคำขอและเพิ่มการใช้หน่วยความจำ
  • การรวมแบบอินไลน์หรือการใส่ CSS และ JavaScript และบางครั้งแม้แต่รูปภาพภายในไฟล์ HTML เพื่อลดจำนวนการเชื่อมต่อ ในเวลาเดียวกัน เพจจะไม่แสดงจนกว่าไฟล์ทั้งหมดจะถูกโหลด
  • โดเมนที่ไม่มีไฟล์คุกกี้: ดาวน์โหลดรูปภาพ, CSS และ JavaScript จากโดเมนอื่นที่ไม่ได้ใช้คุกกี้

วิธีการใช้ HTTP 2?

หากต้องการใช้ HTTP 2 คุณต้องทำตามขั้นตอนเหล่านี้:

  1. ตรวจสอบการสนับสนุนเซิร์ฟเวอร์: ตรวจสอบว่าซอฟต์แวร์เซิร์ฟเวอร์ของคุณรองรับ HTTP 2 ซอฟต์แวร์เซิร์ฟเวอร์ยอดนิยม เช่น Apache, Nginx และ IIS รองรับ HTTP 2 ในตัว
  2. เปิดใช้งาน HTTP 2: เมื่อคุณยืนยันว่าเซิร์ฟเวอร์ของคุณรองรับ HTTP 2 คุณจะต้องเปิดใช้งาน วิธีการเปิดใช้งาน HTTP 2 จะแตกต่างกันไปขึ้นอยู่กับซอฟต์แวร์เซิร์ฟเวอร์ที่คุณใช้
  3. ใช้ HTTPS: HTTP 2 ต้องการการเชื่อมต่อที่ปลอดภัยโดยใช้ HTTPS ดังนั้นคุณต้องติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ของคุณ
  4. อัปเดตรหัสของคุณ: หากคุณใช้ไลบรารีหรือเฟรมเวิร์กที่จัดการการเชื่อมต่อ HTTP ตรวจสอบให้แน่ใจว่าสนับสนุน HTTP 2 ไลบรารีบางรายการอาจต้องการการอัปเดตเพื่อให้ทำงานกับ HTTP 2 ได้
  5. ทดสอบไซต์ของคุณ: หลังจากทำการเปลี่ยนแปลงที่จำเป็นแล้ว ให้ทดสอบไซต์ของคุณเพื่อให้แน่ใจว่าใช้งานได้กับ HTTP 2 ตรวจสอบคอนโซลของเบราว์เซอร์เพื่อหาข้อผิดพลาดหรือคำเตือนใดๆ
  6. ตรวจสอบประสิทธิภาพ: ตรวจสอบประสิทธิภาพไซต์ของคุณเป็นประจำเพื่อให้แน่ใจว่าทำงานได้อย่างราบรื่นด้วย HTTP 2
  7. พิจารณาการเพิ่มประสิทธิภาพ: การใช้ HTTP 2 จะช่วยปรับปรุงประสิทธิภาพไซต์ของคุณ แต่อาจยังมีโอกาสสำหรับการเพิ่มประสิทธิภาพเพิ่มเติม ตัวอย่างเช่น การรวมรูปภาพเป็นสไปรต์ การบีบอัดรูปภาพ และการลดจำนวนคำขอ HTTP จะช่วยปรับปรุงประสิทธิภาพให้ดียิ่งขึ้น

บทสรุป

HTTP 2 เข้ากันได้ย้อนหลังกับ HTTP 1.1 และไม่ต้องการการย้ายข้อมูล อย่างไรก็ตาม เนื่องจากเว็บเซิร์ฟเวอร์และเบราว์เซอร์ใช้ HTTP 2 จึงอาจต้องอัปเดตเทคนิคการเพิ่มประสิทธิภาพไซต์เพื่อหลีกเลี่ยงไม่ให้เว็บไซต์ทำงานช้าลง

อ่าน: คู่มือฉบับสมบูรณ์เกี่ยวกับการโยกย้าย HTTP เป็น HTTPS ใน WordPress

การรวมรูปภาพเป็นสไปรต์ช่วยปรับปรุงการบีบอัดและลดการดาวน์โหลดข้อมูล ในขณะที่หลีกเลี่ยงการใช้ Data URI สำหรับการฝังรูปภาพสามารถปรับปรุงการแคชได้ การแบ่งโดเมนไม่จำเป็นอีกต่อไปใน HTTP 2 เนื่องจากอนุญาตให้มีการร้องขอทรัพยากรโดยตรงและสามารถลดประสิทธิภาพโดยการสร้างการเชื่อมต่อเพิ่มเติม

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

HTTP2 ใช้สำหรับอะไร

HTTP2 เป็นโปรโตคอลที่ใช้ในการถ่ายโอนข้อมูลผ่านอินเทอร์เน็ต ปรับปรุงความเร็วและความปลอดภัยของการส่งเนื้อหาเว็บ เช่น เพจ รูปภาพ และวิดีโอจากเซิร์ฟเวอร์ไปยังเบราว์เซอร์ มีการโหลดหน้าเว็บที่เร็วขึ้นและประสิทธิภาพที่เพิ่มขึ้นเมื่อเทียบกับ HTTP 1.1 รุ่นก่อนหน้า โดยอนุญาตให้ส่งและรับคำขอหลายรายการพร้อมกันได้

HTTP และ HTTP2 แตกต่างกันอย่างไร

HTTP2 เป็น HTTP เวอร์ชันอัปเดตที่เร็วและมีประสิทธิภาพมากกว่ารุ่นก่อน ใช้การเชื่อมต่อเดียวเพื่อโหลดทรัพยากรหลายรายการ ในขณะที่ต้องใช้การเชื่อมต่อหลายรายการใน HTTP HTTP2 ยังให้การบีบอัดข้อมูลและการจัดลำดับความสำคัญ ทำให้ผู้ใช้โหลดหน้าเว็บได้เร็วขึ้น

เหตุใดจึงไม่ใช้ http2 อย่างแพร่หลาย

HTTP2 ไม่ได้ใช้กันอย่างแพร่หลายเนื่องจากปัญหาด้านความเข้ากันได้และการใช้งาน อุปกรณ์และซอฟต์แวร์เก่าบางตัวไม่รองรับ HTTP2 และต้องใช้เซิร์ฟเวอร์เฉพาะและใบรับรอง SSL สำหรับการใช้งาน