Apa itu HTTP / 2 dan Apa Kegunaannya?



Coba Instrumen Kami Untuk Menghilangkan Masalah

Dalam 20 tahun terakhir, World Wide Web telah berkembang secara dramatis. Semua teknologi web yang ditingkatkan membutuhkan solusi dan protokol yang lebih baik dan lebih cepat untuk komunikasi dan transfer file daripada yang saat ini (HTTP) yang mencapai batas teknologinya.





Apa itu HTTP / 2?

HTTP / 2 adalah versi terbaru dari Hypertext Transport Protocol (HTTP) - protokol yang mendasari yang digunakan oleh World Wide Web . Awalnya disetujui pada Februari 2015. Itu hampir 20 tahun setelah HTTP asli. HTTP / 2 mengurangi waktu muat dan membawa peningkatan besar dalam komunikasi antara server dan browser. Mayoritas browser sudah menambahkan HTTP / 2, dan itu tidak mengubah banyak hal dari sudut pandang pengguna. Itulah alasan utama mengapa banyak dari kita belum membaca atau mendengarnya.



Apa yang Dilakukan HTTP / 2?

Sebagai penerus HTTP, HTTP / 2 berfokus pada peningkatan semua karakteristik HTTP . Untuk menjaga kompatibilitas ke belakang dengan protokol yang lebih lama, itu menyimpan sebagian besar fungsionalitas HTTP. Namun, ini memperkenalkan beberapa peningkatan drastis.

Baik HTTP atau HTTP / 2 menentukan:

  • Tindakan apa yang perlu dilakukan browser dan server web sebagai respons terhadap perintah yang berbeda.
  • Bagaimana setiap bit informasi ditransfer dari satu komputer ke komputer lain melalui web.
  • Bagaimana pesan dibuat, diformat, dan dikirim.

Dengan kata lain, HTTP dan HTTP / 2 menetapkan standar untuk bagaimana konten web dikirimkan ke komputer Anda, dengan perbedaan bahwa HTTP / 2 membuat segalanya lebih cepat dari pendahulunya. Di sini Anda dapat melihat apa yang dilakukan HTTP / 2 secara detail.



Aliran Multipleks

Rangkaian bingkai format teks dua arah yang dikirim melalui protokol HTTP / 2 antara satu server dan klien disebut 'aliran'. HTTP hanya mampu mentransmisikan salah satu dari 'aliran' ini pada satu waktu. Setelah aliran dikirim ada penundaan waktu antara transmisi aliran berikutnya.

HTTP / 2 membuat lapisan pembingkaian biner baru yang secara langsung memecahkan masalah dengan mentransmisikan 'aliran' satu per satu. Ini memungkinkan klien dan server untuk memecah payload HTTP / 2 menjadi urutan bingkai berselang-seling yang kecil, independen dan mudah dikelola. Semua informasi ini dipasang kembali setelah diterima di ujung lainnya. Protokol ini memungkinkan pertukaran beberapa urutan dua arah, yang secara bersamaan terbuka, dan independen tanpa latensi antara aliran yang berurutan.

Manfaat:

  • Permintaan dan respons paralel multipleks tidak saling memblokir.
  • Koneksi TCP tunggal dapat memastikan pemanfaatan sumber daya jaringan yang efektif bahkan ketika mentransmisikan beberapa aliran data.
  • Performa web lebih cepat, latensi lebih rendah, dan hasil mesin telusur lebih baik.
  • Mengurangi CapEx dan OpEx dalam menjalankan jaringan dan sumber daya TI.

HTTP / 2 Server Push dan Cache Push

Ini adalah kemampuan yang memungkinkan server mengirim info tambahan yang dapat disimpan dalam cache ke klien . Info itu tidak diminta tetapi diantisipasi untuk permintaan di masa mendatang. Jika klien meminta satu sumber daya A dan diketahui bahwa sumber daya lain B direferensikan dengan yang diminta, server dapat mendorong B bersama dengan A daripada menunggu permintaan klien lain. Kemudian klien menyimpan sumber daya B yang didorong ke dalam cache untuk digunakan di masa mendatang. Fitur ini menyimpan seluruh proses bolak-balik permintaan-respons dan mengurangi latensi jaringan. Google awalnya memperkenalkan Server Push dalam protokol SPDY.

Peningkatan lain dalam HTTP / 2 adalah Cache Push. Ini secara proaktif memperbarui atau membuat cache klien tidak valid. Ini memberi kemampuan pada server untuk mengidentifikasi kemungkinan sumber daya yang dapat didorong yang sebenarnya tidak diinginkan klien.

Manfaat:

  • Klien dapat menolak sumber daya yang didorong untuk mempertahankan penyimpanan yang efisien dari sumber daya yang di-cache (atau bahkan menonaktifkan Server Push seluruhnya).
  • Klien dapat membatasi jumlah aliran yang didorong multipleks secara bersamaan.
  • Server dapat memprioritaskan sumber daya yang didorong. Ini adalah kunci dalam perbedaan kinerja antara HTTP / 2 dan HTTP.
  • Server dapat menggandakan sumber daya yang didorong bersama dengan informasi yang diminta klien dalam koneksi TCP yang sama.
  • Klien dapat menggunakan sumber daya yang di-cache di halaman yang berbeda.
  • Klien menyimpan sumber daya yang didorong dalam memori cache.

Protokol Biner

HTTP / 2 telah meningkatkan kemampuan secara signifikan saat mengubah protokol teks menjadi protokol biner . Sementara HTTP digunakan untuk memproses perintah teks untuk menjalankan siklus permintaan-respons, HTTP / 2 bergantung pada perintah biner. Itu mempersingkat waktu (menjadi 1 dan 0) untuk menjalankan tugas yang sama.

Browser dengan dukungan HTTP / 2 akan mengubah perintah teks menjadi kode biner sebelum mengirimkannya melalui jaringan. Namun, lapisan pembingkaian biner tidak kompatibel dengan server HTTP dan klien sebelumnya.

Manfaat:

  • Mencegah masalah keamanan yang terkait dengan sifat tekstual HTTP (mis. Serangan yang memecah respons).
  • Mengaktifkan kemampuan HTTP / 2 seperti kompresi, prioritas, multiplexing, penanganan TLS yang efektif, dan kontrol aliran.
  • Representasi perintah yang ringkas memungkinkan implementasi dan pemrosesan yang lebih mudah.
  • Pemrosesan data yang kuat dan efektif antara klien dan server.
  • Peningkatan throughput dan pengurangan latensi jaringan.
  • Lebih sedikit peluang untuk kesalahan jika dibandingkan dengan HTTP.
  • Pemanfaatan sumber daya jaringan yang sangat efisien.
  • Overhead rendah dalam penguraian data.
  • Jejak jaringan yang lebih ringan.

Aliran Prioritas

HTTP / 2 memungkinkan klien untuk memberikan preferensi ke aliran data tertentu. Server tidak terikat untuk mengikuti petunjuk klien ini, tetapi mekanisme ini memungkinkan server untuk mengoptimalkan alokasi sumber daya jaringan berdasarkan kebutuhan pengguna .

Prioritas Aliran berfungsi dengan Bobot dan Ketergantungan yang ditetapkan ke setiap aliran. Terlepas dari kenyataan bahwa semua aliran secara inheren bergantung satu sama lain kecuali, mereka memiliki bobot yang ditetapkan antara 1 dan 256. Mekanisme prioritas aliran masih menjadi topik perdebatan. Namun, saat Prioritas Aliran digabungkan dengan kemampuan HTTP / 2 untuk memproses beberapa aliran data dalam satu koneksi TCP, dapat menyebabkan kedatangan permintaan server dengan prioritas berbeda secara bersamaan.

Manfaat:

  • Mengurangi efek negatif dari masalah latensi jaringan.
  • Pengalaman pengguna yang lebih baik dan kecepatan pemuatan halaman.
  • Optimasi dalam komunikasi data antara server dan klien.
  • Pemanfaatan sumber daya jaringan yang sangat efektif.
  • Mengurangi waktu pengiriman untuk permintaan konten utama.

Kompresi Header Stateful

Saat pengguna menjelajahi situs web dengan konten kaya media, menggunakan HTTP, klien mendorong beberapa bingkai header yang hampir identik. Ini terjadi karena setiap permintaan klien harus menyertakan informasi sebanyak yang diperlukan server untuk melakukan operasi yang diminta. Proses ini mengarah pada latensi dan konsumsi sumber daya yang tidak perlu.

HTTP / 2 menyertakan kemampuan untuk mengompresi sejumlah besar bingkai header yang berlebihan. Ini bergantung pada spesifikasi HPACK sebagai pendekatan yang aman dan sederhana untuk kompresi header . Klien dan server memelihara daftar header yang digunakan dalam permintaan klien-server sebelumnya. Ini secara langsung mengatasi masalah dengan bingkai header yang berlebihan.

Manfaat:

  • Mengkodekan header yang biasa digunakan dan header besar. Itu menghilangkan kebutuhan untuk mengirim seluruh frame header. Ukuran individu setiap aliran menyusut secara signifikan.
  • Mencegah serangan keamanan seperti CRIME menjelajahi aliran data dengan header terkompresi.
  • Pemanfaatan mekanisme multiplexing yang efisien.
  • Prioritas streaming yang efisien.
  • Mengurangi overhead sumber daya.

Manfaat HTTP / 2 di Dunia Nyata

HTTP / 2 difokuskan untuk memaksimalkan potensi teknologi , untuk memenuhi kebutuhan dan harapan masa depan. Berikut adalah manfaat dunia nyata menggunakan HTTP / 2.

Kinerja Web dan Kinerja Web Seluler - HTTP / 2 memiliki kemampuan untuk mengirim dan menerima lebih banyak data dalam satu siklus komunikasi klien-server. Ini berfungsi dengan baik untuk mengurangi latensi dalam mengakses layanan internet di jaringan data seluler dan jaringan dengan bandwidth terbatas per pengguna.

Internet Kecepatan Tinggi yang Lebih Murah - HTTP / 2 meningkatkan efektivitas komunikasi data. Itu memungkinkan penyedia internet untuk mengecilkan biaya keseluruhan sambil mempertahankan standar internet berkecepatan tinggi.

Keamanan - HTTP / 2 tidak rentan terhadap ancaman yang menargetkan protokol lapisan aplikasi berbasis teks. Selain itu, ia menggunakan pendekatan 'Keamanan dengan Ketidakjelasan' untuk melindungi transmisi data sensitif antara klien dan server.

Jangkauan Ekspansif - Keuntungan HTTP / 2 mengurangi hasil internet bagi penyedia. Itu akan mengarah pada jangkauan internet yang lebih luas di tingkat dunia.

Pengalaman Web Kaya Media - Fitur dan keunggulan teknologi yang dibawa HTTP / 2 ke World Wide Web menyediakan infrastruktur yang mampu mengirimkan konten yang kaya media dengan kecepatan pemuatan halaman yang lebih cepat.

Bungkus

HTTP / 2 adalah protokol yang relatif baru, tetapi dukungannya terus berkembang. Saat ini, sebagian besar browser internet mendukung HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome untuk Android). Banyak server web menyertakan dukungan asli HTTP / 2 (Apache HTTP Server, Tomcat, NGINX). Tidak diragukan lagi, HTTP / 2 adalah protokol WWW masa depan.

5 menit membaca