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 โดยคลิกที่นี่

Facebook Twitter Google Plus Pinterest