ดู HTTP/2 ให้ละเอียดยิ่งขึ้น: มันทำงานอย่างไรและมีความหมายอย่างไรสำหรับเว็บ
เผยแพร่แล้ว: 2023-02-09ในปี 2558 โปรโตคอลเครือข่าย HTTP เวอร์ชันใหม่ — HTTP/2 ได้รับการอนุมัติ ตอนนี้มันได้รับความนิยมมากขึ้นเรื่อย ๆ โปรโตคอลรองรับเว็บเซิร์ฟเวอร์ Apache และ Nginx, Chrome, Firefox, Opera, Edge และ Safari รวมถึงอุปกรณ์พกพาแล้ว
จำนวนบริการและไซต์ HTTP/2 เพิ่มขึ้นอย่างต่อเนื่อง ในอนาคตอันใกล้ อินเทอร์เน็ตกำลังรอการเปลี่ยนไปใช้โปรโตคอลใหม่ ซึ่งจะเร่งการดาวน์โหลดเว็บไซต์
มาดูกันว่าสิ่งนี้จะส่งผลต่อการสร้างเว็บไซต์ SEO และด้านอื่นๆ อย่างไร
HTTP/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/1 และ HTTP/2 (เอื้อเฟื้อข้อมูล: http://ruzhekov.com )
ข้อดีและข้อเสียของ 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:
ความเร็วในการดาวน์โหลดเพิ่มขึ้น 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 คุณต้องทำตามขั้นตอนเหล่านี้:
- ตรวจสอบการสนับสนุนเซิร์ฟเวอร์: ตรวจสอบว่าซอฟต์แวร์เซิร์ฟเวอร์ของคุณรองรับ HTTP 2 ซอฟต์แวร์เซิร์ฟเวอร์ยอดนิยม เช่น Apache, Nginx และ IIS รองรับ HTTP 2 ในตัว
- เปิดใช้งาน HTTP 2: เมื่อคุณยืนยันว่าเซิร์ฟเวอร์ของคุณรองรับ HTTP 2 คุณจะต้องเปิดใช้งาน วิธีการเปิดใช้งาน HTTP 2 จะแตกต่างกันไปขึ้นอยู่กับซอฟต์แวร์เซิร์ฟเวอร์ที่คุณใช้
- ใช้ HTTPS: HTTP 2 ต้องการการเชื่อมต่อที่ปลอดภัยโดยใช้ HTTPS ดังนั้นคุณต้องติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ของคุณ
- อัปเดตรหัสของคุณ: หากคุณใช้ไลบรารีหรือเฟรมเวิร์กที่จัดการการเชื่อมต่อ HTTP ตรวจสอบให้แน่ใจว่าสนับสนุน HTTP 2 ไลบรารีบางรายการอาจต้องการการอัปเดตเพื่อให้ทำงานกับ HTTP 2 ได้
- ทดสอบไซต์ของคุณ: หลังจากทำการเปลี่ยนแปลงที่จำเป็นแล้ว ให้ทดสอบไซต์ของคุณเพื่อให้แน่ใจว่าใช้งานได้กับ HTTP 2 ตรวจสอบคอนโซลของเบราว์เซอร์เพื่อหาข้อผิดพลาดหรือคำเตือนใดๆ
- ตรวจสอบประสิทธิภาพ: ตรวจสอบประสิทธิภาพไซต์ของคุณเป็นประจำเพื่อให้แน่ใจว่าทำงานได้อย่างราบรื่นด้วย HTTP 2
- พิจารณาการเพิ่มประสิทธิภาพ: การใช้ 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 สำหรับการใช้งาน