HTTP / 2 คืออะไรและทำอย่างไร
ในช่วง 20 ปีที่ผ่านมาเวิลด์ไวด์เว็บมีวิวัฒนาการอย่างมาก เทคโนโลยีเว็บที่ได้รับการพัฒนาทั้งหมดจำเป็นต้องมีโซลูชันและโปรโตคอลสำหรับการสื่อสารและการถ่ายโอนข้อมูลที่ดีกว่าและรวดเร็วกว่าเทคโนโลยีที่มีอยู่ในปัจจุบัน (HTTP) ซึ่งถึงขีด จำกัด ของเทคโนโลยี
HTTP / 2 คืออะไร?
HTTP / 2 เป็นรุ่นล่าสุดของ Hypertext Transport Protocol (HTTP) - โปรโตคอลพื้นฐานที่ใช้โดยเวิลด์ไวด์เว็บ ซึ่งได้รับการอนุมัติในเดือนกุมภาพันธ์ 2015 เป็นเวลาเกือบ 20 ปีหลังจากที่เป็น HTTP เดิม HTTP / 2 ลดเวลาในการโหลดและทำให้การสื่อสารระหว่างเซิร์ฟเวอร์และเบราว์เซอร์มีการปรับปรุงมากมาย เบราว์เซอร์ส่วนใหญ่ได้เพิ่ม HTTP / 2 แล้วและไม่ได้เปลี่ยนแปลงอะไรจากมุมมองของผู้ใช้ นั่นคือเหตุผลหลักที่ทำให้หลายคนยังไม่เคยอ่านหรือได้ยินเรื่องนี้
HTTP / 2 ทำอะไร?
ในฐานะผู้สืบทอด HTTP, HTTP / 2 มุ่งเน้นที่จะปรับปรุงคุณลักษณะทั้งหมดของ HTTP เพื่อรักษาความเข้ากันได้ย้อนหลังกับโปรโตคอลที่เก่ากว่าจะช่วยให้ฟังก์ชันการทำงานของ HTTP มีประสิทธิภาพมากที่สุด แต่ก็แนะนำการปรับปรุงที่รุนแรงบางอย่าง
ทั้ง HTTP หรือ HTTP / 2 กำหนด:
- การดำเนินการใดที่เว็บเบราเซอร์และเซิร์ฟเวอร์ต้องใช้เพื่อตอบสนองคำสั่งต่างๆ
- ข้อมูลมีการถ่ายโอนข้อมูลจากคอมพิวเตอร์เครื่องหนึ่งไปยังคอมพิวเตอร์เครื่องอื่นผ่านทางเว็บอย่างไร
- วิธีสร้างข้อความจัดรูปแบบและส่งข้อความ
กล่าวคือ HTTP และ HTTP / 2 กำหนดมาตรฐานสำหรับเนื้อหาเว็บที่ส่งไปยังคอมพิวเตอร์ของคุณด้วยความแตกต่างที่ HTTP / 2 ทำทุกอย่างเร็วกว่ารุ่นก่อน ที่นี่คุณสามารถดูรายละเอียดได้จาก HTTP / 2
Multiplexed Streams
ชุดข้อมูลสองทิศทางของเฟรมรูปแบบข้อความที่ส่งผ่านโปรโตคอล HTTP / 2 ระหว่างเซิร์ฟเวอร์หนึ่งเครื่องกับไคลเอ็นต์จะเรียกว่าสตรีม HTTP สามารถรับส่งข้อมูลเพียงหนึ่งในสตรีมเหล่านี้ได้ตลอดเวลาเท่านั้น หลังจากมีการส่งกระแสข้อมูลมีการหน่วงเวลาระหว่างการส่งสตรีมถัดไป
HTTP / 2 สร้างชั้นเฟรมข้อมูลไบนารีใหม่ที่สามารถแก้ปัญหาโดยตรงกับการส่งกระแสข้อมูลทีละรายการ ช่วยให้ลูกค้าและเซิร์ฟเวอร์สามารถแยกแยะความละเอียดของ HTTP / 2 ลงในลำดับเฟรมแบบเรียงซ้อนที่เล็กและอิสระที่จัดการได้ง่าย ข้อมูลทั้งหมดนี้ถูกประกอบขึ้นครั้งหนึ่งเมื่อได้รับในตอนท้าย โปรโตคอลนี้ช่วยให้สามารถแลกเปลี่ยนลำดับข้อมูลสองทิศทางแบบเปิดและแบบอิสระได้โดยไม่มีแฝงระหว่างสตรีมต่อเนื่อง
ประโยชน์ที่ได้รับ:
- คำขอแบบมัลติเพล็กซ์และการตอบสนองไม่บล็อกกัน
- การเชื่อมต่อ TCP เพียงครั้งเดียวสามารถทำให้แน่ใจได้ว่ามีการใช้ทรัพยากรเครือข่ายอย่างมีประสิทธิภาพแม้ในขณะที่ส่งข้อมูลหลาย ๆ
- ประสิทธิภาพเว็บที่รวดเร็วขึ้นลดเวลาในการตอบสนองและผลลัพธ์ของเครื่องมือค้นหาที่ดีขึ้น
- ลด CapEx และ OpEx ในการเรียกใช้เครือข่ายและทรัพยากรด้านไอที
HTTP / 2 Server Push และ Cache Push
นี่ คือความสามารถที่จะช่วยให้เซิร์ฟเวอร์สามารถส่งข้อมูลเพิ่มเติมที่สามารถแคชไปให้กับลูกค้า ได้ ข้อมูลดังกล่าวไม่ได้ถูกร้องขอ แต่คาดว่าจะได้รับการร้องขอในอนาคต ถ้าไคลเอ็นต์ร้องขอทรัพยากรหนึ่ง A และทราบว่ามีการอ้างอิงทรัพยากร B อื่นกับเซิร์ฟเวอร์ที่ร้องขอเซิร์ฟเวอร์สามารถกด B พร้อมกับ A แทนรอคำขอไคลเอ็นต์อื่น จากนั้นไคลเอ็นต์จะบันทึกข้อมูล B ที่ถูกดึงเข้าไปในแคชเพื่อใช้ในอนาคต คุณลักษณะนี้จะบันทึกกระบวนการตอบกลับทั้งคำขอและลดเวลาในการตอบสนองของเครือข่าย Google ได้เปิดตัวโปรโตคอล Server Push ใน SPDY
การปรับปรุงอีกครั้งใน HTTP / 2 คือ Cache Push การดำเนินการนี้จะอัปเดตหรือทำให้แคชของไคลเอ็นต์เป็นโมฆะ ซึ่งจะช่วยให้เซิร์ฟเวอร์สามารถระบุทรัพยากรที่สามารถผลักดันได้ซึ่งลูกค้าไม่ต้องการจริงๆ
ประโยชน์ที่ได้รับ:
- ลูกค้าสามารถปฏิเสธทรัพยากรที่ถูกผลักดันเพื่อรักษาที่เก็บข้อมูลแคชไว้อย่างมีประสิทธิภาพ (หรือแม้กระทั่งปิดใช้งานเซิร์ฟเวอร์พุชทั้งหมด)
- ลูกค้าสามารถ จำกัด จำนวนของสตรีมแบบพุชเพล็กซ์พร้อม ๆ กัน
- เซิร์ฟเวอร์สามารถจัดลำดับความสำคัญของรีซอร์สที่ผลักดันได้ นี่เป็นข้อแตกต่างระหว่างประสิทธิภาพของ HTTP / 2 และ HTTP
- เซิร์ฟเวอร์สามารถผลักดันทรัพยากร multiplex พร้อมกับข้อมูลที่ร้องขอของไคลเอ็นต์ภายในการเชื่อมต่อ TCP เดียวกัน
- ไคลเอ็นต์สามารถใช้ทรัพยากรที่แคชไว้ในหน้าต่างๆ
- ลูกค้าบันทึกแหล่งข้อมูลที่ผลักดันไว้ในหน่วยความจำแคช
โปรโตคอลไบนารี
HTTP / 2 มีความสามารถในการแปลงข้อความโปรโตคอลไบนารีเป็น อย่างมาก ในขณะที่ HTTP ใช้ในการประมวลผลคำสั่งข้อความเพื่อรันรอบการตอบสนองคำขอเว็บ HTTP / 2 จะใช้คำสั่งแบบไบนารี ซึ่งจะช่วยลดระยะเวลา (ถึง 1 วินาทีและ 0 วินาที) ในการดำเนินงานเดียวกัน
เบราว์เซอร์ที่สนับสนุน HTTP / 2 จะแปลงคำสั่งข้อความเป็นรหัสไบนารีก่อนที่จะส่งผ่านเครือข่าย อย่างไรก็ตามเลเยอร์การจัดรูปแบบไบนารีไม่สามารถทำงานร่วมกับเซิร์ฟเวอร์และไคลเอ็นต์ HTTP ได้
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่ประโยชน์ที่ได้รับ:
- การป้องกันความกังวลเกี่ยวกับความปลอดภัยที่เกี่ยวข้องกับลักษณะเดิมของ HTTP (เช่นการแยกการตอบสนอง)
- เปิดใช้งานความสามารถในการ HTTP / 2 เช่นการบีบอัดการจัดลำดับความสำคัญการซ้อนการจัดการที่มีประสิทธิภาพของ TLS และการควบคุมการไหล
- การแสดงคำสั่งที่มีขนาดกะทัดรัดทำให้สามารถใช้งานและประมวลผลได้ง่ายขึ้น
- การประมวลผลข้อมูลที่มีประสิทธิภาพและมีประสิทธิภาพระหว่างไคลเอ็นต์และเซิร์ฟเวอร์
- ปรับปรุงข้อมูลและลดเวลาแฝงของเครือข่าย
- มีข้อผิดพลาดน้อยลงเมื่อเทียบกับ HTTP
- การใช้ทรัพยากรเครือข่ายที่มีประสิทธิภาพสูง
- ค่าใช้จ่ายต่ำในการแยกวิเคราะห์ข้อมูล
- รอยต่อเครือข่ายที่เบากว่า
จัดลำดับความสำคัญสตรีม
HTTP / 2 ช่วยให้ลูกค้าสามารถกำหนดการตั้งค่าเฉพาะสำหรับสตรีมข้อมูลได้ เซิร์ฟเวอร์ไม่จำเป็นต้องปฏิบัติตามคำแนะนำของลูกค้าเหล่านี้ แต่กลไกนี้ช่วยให้เซิร์ฟเวอร์สามารถจัดสรรทรัพยากรบนเครือข่ายได้ตามความต้องการของผู้ใช้
การจัดลำดับความสำคัญของสตรีมทำงานร่วมกับน้ำหนักและการพึ่งพาที่กำหนดให้กับแต่ละสตรีม อย่างไรก็ตามข้อเท็จจริงที่ว่าสตรีมทั้งหมดขึ้นอยู่กับแต่ละอื่น ๆ ยกเว้นจะมีน้ำหนักที่กำหนดระหว่าง 1 ถึง 256 กลไกการจัดลำดับความสำคัญของสตรีมยังคงเป็นหัวข้อของการโต้วาที อย่างไรก็ตามเมื่อการจัดลำดับความสำคัญแบบสตรีมรวมกับความสามารถในการประมวลผลข้อมูลหลายสตรีมในการเชื่อมต่อ TCP เพียงอย่างเดียวอาจทำให้เกิดการร้องขอเซิร์ฟเวอร์ที่มีลำดับความสำคัญแตกต่างกันไปได้
ประโยชน์ที่ได้รับ:
- ลดผลกระทบเชิงลบของความกังวลแฝงของเครือข่าย
- ประสบการณ์การใช้งานที่ดีขึ้นและความเร็วในการโหลดหน้าเว็บ
- การเพิ่มประสิทธิภาพในการสื่อสารข้อมูลระหว่างเซิร์ฟเวอร์กับลูกค้า
- การใช้ทรัพยากรเครือข่ายที่มีประสิทธิภาพสูง
- ลดเวลาในการจัดส่งสำหรับคำขอเนื้อหาหลัก
การบีบอัดส่วนหัวแบบ Stateful
เมื่อผู้ใช้เรียกดูเว็บไซต์ที่มีเนื้อหาหลากหลายสื่อโดยใช้ HTTP ไคลเอ็นต์จะผลักดันเฟรมส่วนหัวที่เหมือนกันหลายชุด เป็นเช่นนี้เนื่องจากคำขอไคลเอ็นต์แต่ละรายการต้องมีข้อมูลเท่าที่เซิร์ฟเวอร์ต้องการเพื่อดำเนินการตามที่ร้องขอ กระบวนการนี้นำไปสู่การบริโภคทรัพยากรที่แฝงและไม่จำเป็น
HTTP / 2 รวมถึงความสามารถในการบีบอัดเฟรมส่วนหัวที่ซ้ำซ้อนเป็นจำนวนมาก มันขึ้นอยู่กับข้อกำหนด HPACK เป็นวิธีการที่ปลอดภัยและง่ายต่อการบีบอัดส่วนหัว ไคลเอ็นต์และเซิร์ฟเวอร์จะเก็บรายการส่วนหัวที่ใช้ในคำขอเซิร์ฟเวอร์ - ไคลเอ็นต์ก่อนหน้านี้ สิ่งนี้ตรงกับข้อกังวลเกี่ยวกับส่วนหัวที่ซ้ำซ้อน
ประโยชน์ที่ได้รับ:
- เข้ารหัสส่วนหัวที่ใช้ทั่วไปและส่วนหัวขนาดใหญ่ ที่ช่วยลดความจำเป็นในการส่งเฟรมส่วนหัวทั้งหมด ขนาดของแต่ละสตรีมลดลงอย่างมาก
- ป้องกันการโจมตีด้านความปลอดภัยเช่น CRIME สำรวจข้อมูลที่มีส่วนหัวบีบอัด
- การใช้ประโยชน์จากกลไกมัลติเพล็กซ์ที่มีประสิทธิภาพ
- การจัดลำดับความสำคัญของสตรีมที่มีประสิทธิภาพ
- ลดค่าใช้จ่ายของทรัพยากร
ประโยชน์ที่แท้จริงของ HTTP / 2
HTTP / 2 มุ่งเน้นการเพิ่มศักยภาพของเทคโนโลยี เพื่อตอบสนองความต้องการและความคาดหวังในอนาคต นี่คือประโยชน์ที่แท้จริงของการใช้ HTTP / 2
ประสิทธิภาพ Web Performace และ Mobile Web Performance - HTTP / 2 มีความสามารถในการส่งและรับข้อมูลเพิ่มเติมในวงจรการสื่อสารแบบ client-server ทำงานได้ดีเพื่อลดเวลาในการเข้าถึงบริการอินเทอร์เน็ตบนเครือข่ายข้อมูลมือถือและเครือข่ายที่มีแบนด์วิดท์ จำกัด สำหรับแต่ละผู้ใช้
อินเทอร์เน็ตความเร็วต่ำ - HTTP / 2 เพิ่มประสิทธิภาพในการสื่อสารข้อมูล ซึ่งช่วยให้ผู้ให้บริการอินเทอร์เน็ตลดค่าใช้จ่ายโดยรวมขณะเดียวกันก็รักษามาตรฐานอินเทอร์เน็ตความเร็วสูง
ความปลอดภัย - HTTP / 2 ไม่เสี่ยงต่อภัยคุกคามที่กำหนดเป้าหมายโปรโตคอลเลเยอร์แอ็พพลิเคชันแบบข้อความ นอกจากนี้ยังใช้วิธีรักษาความปลอดภัยโดยการปิดกั้นเพื่อป้องกันการรับส่งข้อมูลที่สำคัญระหว่างไคลเอ็นต์และเซิร์ฟเวอร์
Expansive Reach - ข้อดีของ HTTP / 2 ลดผลลัพธ์ทางอินเทอร์เน็ตสำหรับผู้ให้บริการ ซึ่งจะนำไปสู่การครอบคลุมอินเทอร์เน็ตที่กว้างขึ้นในระดับโลก
ประสบการณ์สื่อสมบูรณ์แบบบนเว็บ - คุณลักษณะและข้อดีของเทคโนโลยีที่ HTTP / 2 นำมาสู่เวิลด์ไวด์เว็บให้โครงสร้างพื้นฐานที่สามารถส่งเนื้อหาที่มีเดียหลากหลายและความเร็วในการโหลดหน้าเว็บได้เร็วขึ้น
สรุป
HTTP / 2 เป็นโปรโตคอลที่ค่อนข้างใหม่ แต่การสนับสนุนสำหรับการเติบโตอย่างต่อเนื่อง ปัจจุบันเบราว์เซอร์อินเทอร์เน็ตส่วนใหญ่สนับสนุน HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome สำหรับ Android) เว็บเซิร์ฟเวอร์จำนวนมากรวมถึงการสนับสนุนแบบ HTTP / 2 (Apache HTTP Server, Tomcat, NGINX) โดยไม่ต้องสงสัย HTTP / 2 คือโปรโตคอล WWW ของอนาคต
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่