หลังจากการประกาศก่อนหน้านี้ การรองรับ HTTP/2 Server Push จะถูกปิดใช้โดยค่าเริ่มต้นใน Chrome 106 และเบราว์เซอร์อื่นๆ ที่ใช้ Chromium ในรุ่นถัดไป
เหตุใดระบบจึงนำความคิดเห็นนี้ออก
HTTP/2 Server Push ช่วยให้เว็บไซต์สามารถส่งทรัพยากรที่หน้าเว็บต้องการได้โดยไม่ต้องรอให้ได้รับคำขอ อย่างไรก็ตาม มันมีปัญหาเกิดขึ้นอย่างที่ Jake Archibald เขียนถึงก่อนหน้านี้ และประโยชน์ด้านประสิทธิภาพก็มักจะทำได้ยาก ด้วยเหตุนี้ จึงไม่มีการใช้งานมากนักกับเว็บไซต์ HTTP/2 เพียง 1.25% ที่ใช้ฟีเจอร์นี้
การวิเคราะห์การใช้ HTTP/2 Server Push ให้ผลลัพธ์แบบผสม (Chrome, Akamai) โดยที่ไม่ได้ประสิทธิภาพเพิ่มขึ้นอย่างชัดเจน และประสิทธิภาพในการถดถอยในหลายกรณี
พุชไม่ได้ใช้ในเซิร์ฟเวอร์และไคลเอ็นต์ HTTP/3 จำนวนมาก แม้ว่าจะรวมอยู่ในข้อกำหนดแล้วก็ตาม สำหรับอินเทอร์เน็ตส่วนใหญ่ที่ใช้ HTTP/3 เวอร์ชันใหม่นั้น Push ได้เลิกใช้งานแล้ว เมื่อเรียกใช้การวิเคราะห์นั้นอีกครั้งเมื่อเร็วๆ นี้ เราพบว่าการรองรับ HTTP/2 1.25% โดยเว็บไซต์ลดลงเหลือ 0.7%
ทางเลือกอื่นสำหรับพุชจากเซิร์ฟเวอร์ HTTP/2
103 Early Hints เป็นทางเลือกที่มีโอกาสเกิดข้อผิดพลาดน้อยกว่ามาก โดยมีข้อดีต่างๆ เหมือนกันกับพุช และมีข้อเสียน้อยกว่ามาก แทนที่เซิร์ฟเวอร์จะพุชทรัพยากร 103 Early Hints จะส่งเฉพาะคำแนะนำไปยังเบราว์เซอร์ทรัพยากรที่อาจได้รับประโยชน์จากการส่งคำขอทันที ซึ่งจะทำให้เบราว์เซอร์ควบคุมการตัดสินใจว่าจำเป็นต้องใช้สิ่งเหล่านี้หรือไม่ เช่น เบราว์เซอร์มีทรัพยากรเหล่านั้นในแคช HTTP อยู่แล้ว
การโหลดทรัพยากรที่สำคัญล่วงหน้าเป็นอีกทางเลือกหนึ่งที่ช่วยให้หน้าเว็บและเบราว์เซอร์ทำงานร่วมกันเพื่อโหลดทรัพยากรที่สำคัญล่วงหน้าได้ตั้งแต่เนิ่นๆ ในการโหลดหน้า แม้ว่าวิธีนี้จะกำหนดให้ต้องส่งหน้าเว็บก่อน ดังนั้นจึงไม่เร็วเท่ากับการพุชจากเซิร์ฟเวอร์หรือคำแนะนำล่วงหน้า แต่มีประโยชน์เพิ่มเติมคือไม่ทำให้ทรัพยากรของหน้าเว็บที่สำคัญล่าช้า ซึ่งสามารถเกิดขึ้นได้กับทั้ง 2 โซลูชันนี้
บทสรุป
เว็บต้องสามารถลองทำสิ่งต่างๆ และทิ้งไปเมื่อไม่มีการใช้งาน แม้ว่าศักยภาพในการพุชจะฟังดูดีมาก แต่ในความเป็นจริงแล้วการใช้วิธีนี้สร้างปัญหาได้มากกว่าที่คิด อย่างไรก็ตาม เราได้เรียนรู้มากมายจาก Push ซึ่งเกี่ยวข้องกับการออกแบบ 103 Earlyคำใบ้ ถึงเวลาแล้วที่จะดำเนินการให้สำเร็จและออกจากพุช
ลิงก์ที่เกี่ยวข้อง
- การเลิกใช้งานและการนำออกทั้งหมดใน Chromium
- รายการ ChromeStatus: นำการกด HTTP/2 ออก
- Intent จะนำออก: HTTP/2 และพุชจากเซิร์ฟเวอร์ gQUIC
- ปัญหาของ Chromium: ปิด HTTP/2 Push โดยค่าเริ่มต้น
ข้อความแสดงการยอมรับ
รูปภาพหลักโดย Scott Rodgerson ใน Unsplash