Apa itu HTTP / 2 dan Apa Pengaruhnya Dengan Masa Depan Internet?

Anda mungkin belum pernah mendengar tentang HTTP / 2, tetapi ini adalah pembaruan terbaru untuk HTTP. Standar protokol baru ini memperkenalkan beberapa konsep baru dan membuat komunikasi antara server dan aplikasi lebih cepat dan lebih efisien.

Apa itu HTTP / 2?

HyperText Transfer Protocol Versi 2, atau HTTP / 2, adalah pembaruan besar pertama ke HTTP dalam 15 tahun.

Standar protokol sebelumnya, HTTP / 1.1, telah digunakan sejak 1997 dan menggunakan campuran workarounds yang kikuk untuk memperbaiki keterbatasan HTTP.

Ini didasarkan pada SPDY (“cepat”), percobaan sumber terbuka yang dimulai oleh Google untuk mengatasi beberapa masalah dan keterbatasan HTTP / 1.1

Gugus Tugas Rekayasa Internet (IETF) menetapkan perubahan seperti ini di Hypertext Transfer Protocol versi 2, Draft 17 :

“HTTP / 2 memungkinkan penggunaan sumber daya jaringan yang lebih efisien dan mengurangi persepsi latensi dengan memperkenalkan kompresi bidang header dan memungkinkan beberapa pertukaran bersamaan pada koneksi yang sama […]

“Ini juga memungkinkan penentuan prioritas permintaan, membiarkan permintaan yang lebih penting selesai lebih cepat, dan meningkatkan kinerja lebih lanjut.”

“HTTP / 2 juga memungkinkan pemrosesan pesan yang lebih efisien melalui penggunaan framing pesan biner.”

“Spesifikasi ini merupakan alternatif, tetapi tidak usang, sintaks pesan HTTP / 1.1. Semantik HTTP yang ada tetap tidak berubah. “

HTTP / 2 Didasarkan pada SPDY

HTTP / 2 didasarkan pada SPDY

Pada 2012, sebagian besar peramban modern dan banyak situs populer (Google, Twitter, Facebook, dll.) Telah mendukung SPDY. Karena popularitas SPDY meningkat, Kelompok Kerja HTTP (HTTP-WG) mulai bekerja untuk memperbarui standar HTTP.

Dari titik ini dan seterusnya, SPDY menjadi yayasan dan cabang eksperimental untuk fitur baru di HTTP / 2. Pada saat itu, kami memeriksa bagaimana SPDY dapat meningkatkan penjelajahan . Sejak itu, standar versi 2 dirancang, disetujui dan diterbitkan.

Banyak fitur dari SPDY digabungkan ke dalam HTTP / 2, dan Google akhirnya berhenti mendukung protokol ini pada awal 2016.

Sebagian besar browser akhirnya berhenti mendukung SPDY, dan karena tidak ada alternatif, HTTP / 2 menjadi standar de facto.

Meskipun standar protokol HTTP / 2 tidak benar-benar kompatibel ke belakang dengan HTTP / 1, kompatibilitas dapat dicapai melalui terjemahan. Satu-satunya klien HTTP / 1.1 tidak akan memahami server HTTP / 2 saja dan sebaliknya, itulah sebabnya mengapa versi protokol baru adalah HTTP / 2 dan bukan HTTP / 1.2.

Yang mengatakan, bagian penting dari pekerjaan yang disediakan oleh HTTP-WG, adalah untuk memastikan HTTP / 1 dan HTTP / 2 dapat diterjemahkan bolak-balik tanpa kehilangan informasi.

Setiap mekanisme atau fitur baru yang diperkenalkan juga akan menjadi versi-independen, dan kompatibel ke belakang dengan web yang ada.

HTTP / 2 bukanlah sesuatu yang dapat diterapkan oleh pengguna, tetapi ada hal-hal yang dapat kami lakukan untuk memengaruhi kecepatan penelusuran kami. Apakah Anda percaya mitos – mitos umum ini  untuk mempercepat kecepatan internet Anda?

Manfaat dan Fitur HTTP / 2

HTTP / 2 hadir dengan beberapa pembaruan hebat untuk standar HTTP. Beberapa yang lebih penting adalah framing biner, multiplexing, prioritas aliran, kontrol aliran, dan server push.

Binary Framing

Pesan HTTP di HTTP / 2 aliran framing biner
Pesan HTTP  oleh  mfuji09  dilisensikan di bawah  CC-BY-SA 2.5 .

Setelah pembaruan ke HTTP2 /, komunikasi protokol HTTP dibagi menjadi pertukaran frame biner-dikodekan. Bingkai-bingkai ini dipetakan ke pesan-pesan milik aliran tertentu. Aliran tersebut kemudian di-multiplexing (dijalin bersama dalam arti) dalam satu koneksi TCP.

Lapisan framing biner yang baru memperkenalkan beberapa terminologi baru; Aliran, Pesan, dan Bingkai.

  • Aliran adalah aliran dua arah byte yang membawa satu atau lebih pesan.
  • Setiap aliran ini memiliki pengenal unik dan dapat membawa pesan dua arah menggunakan informasi prioritas opsional.
  • Frame adalah unit komunikasi terkecil di HTTP / 2 yang berisi kumpulan data tertentu (header HTTP, payload pesan, dll.). Header paling tidak akan mengidentifikasi aliran yang dimiliki frame.
  • Pesan adalah serangkaian bingkai lengkap yang memetakan ke permintaan logis atau pesan respons.
  • Setiap pesan adalah pesan HTTP logis, seperti permintaan atau tanggapan, yang terdiri dari satu atau beberapa bingkai.

Ini memungkinkan kita untuk menggunakan koneksi TCP tunggal, untuk apa di masa lalu diperlukan beberapa.

Multiplexing

Contoh multiplexing

HTTP / 1.1 memastikan bahwa hanya satu respons yang dapat dikirimkan setiap kali per sambungan. Dan browser akan membuka koneksi TCP tambahan jika klien ingin membuat beberapa permintaan paralel.

HTTP / 2 menghilangkan batasan HTTP / 1.1 ini dan memungkinkan permintaan penuh dan multiplexing respons. Ini berarti bahwa klien dan server dapat memecah pesan HTTP menjadi frame independen, yang kemudian disisipkan, dan dipasang kembali di ujung yang lain.

Secara keseluruhan, ini adalah peningkatan yang paling penting dari HTTP / 2, karena sebagian akan menghilangkan kebutuhan untuk beberapa koneksi. Ini pada gilirannya akan memperkenalkan berbagai manfaat kinerja di semua teknologi web.

Jumlah koneksi yang berkurang berarti lebih sedikit jepitan Transport Layer Security (TLS), penggunaan kembali sesi yang lebih baik, dan pengurangan keseluruhan dalam persyaratan sumber daya klien dan server. Ini membuat aplikasi lebih cepat, lebih sederhana, dan lebih murah untuk diterapkan.

Situs web dengan banyak aset eksternal (gambar atau skrip) akan melihat perolehan kinerja terbesar dari multiplexing HTTP / 2.

Prioritas Stream dan Ketergantungan

Perbaikan lebih lanjut dari aliran multiplexing dibuat dengan berat dan ketergantungan aliran. HTTP / 2 memungkinkan kita untuk memberikan setiap aliran bobot (nilai antara 1 dan 256), dan membuatnya secara eksplisit bergantung pada aliran lain.

Kombinasi ketergantungan dan berat ini mengarah pada pembuatan pohon prioritas, yang memberitahu server bagaimana klien akan lebih suka menerima tanggapan.

Server akan menggunakan informasi dalam struktur prioritas untuk mengontrol alokasi CPU, memori, dan sumber daya lainnya, serta alokasi bandwidth untuk memastikan klien menerima pengiriman tanggapan prioritas tinggi yang optimal.

Kontrol Aliran

Masalah dengan kontrol aliran dalam HTTP / 2 mirip dengan HTTP / 1.1. Namun, karena aliran HTTP / 2 multiplexing dalam satu koneksi TCP, cara kontrol aliran dalam HTTP / 1.1 bekerja tidak lagi efisien.

Singkatnya, kontrol aliran diperlukan untuk menghentikan aliran yang saling mengganggu satu sama lain untuk menyebabkan penyumbatan. Ini memungkinkan multiplexing. HTTP / 2 memungkinkan berbagai algoritma kontrol aliran digunakan, tanpa memerlukan perubahan protokol.

Tidak ada algoritme untuk kontrol aliran yang ditentukan dalam HTTP / 2. Sebaliknya, satu set blok bangunan telah disediakan untuk membantu klien dan server untuk menerapkan kontrol aliran mereka sendiri.

Anda dapat menemukan spesifikasi dari blok-blok bangunan ini di bagian “Pengontrolan Aliran” dari draf internet HTTP / 2.

Server Push

Browser Anda biasanya akan meminta dan menerima dokumen HTML dari server saat pertama kali mengunjungi halaman. Server kemudian perlu menunggu browser mem-parse dokumen HTML dan mengirim permintaan untuk aset yang disematkan (CSS, JavaScript, gambar, dll.).

Di HTTP / 1.1, server tidak dapat mengirim aset ini hingga browser memintanya, dan setiap aset memerlukan permintaan terpisah (mis. Beberapa jabat tangan dan koneksi).

Server push akan mengurangi latensi dengan memungkinkan server mengirim sumber daya tanpa prompt, karena sudah tahu bahwa klien akan membutuhkannya. Jadi pada contoh di atas, server akan mendorong CSS, JavaScript ( bahasa skrip umum di halaman web), dan gambar ke browser untuk menampilkan halaman lebih cepat.

 

Baca Juga  Cara Upgrade dari 32-Bit ke 64-Bit di Windows 10

Pada dasarnya, server push memungkinkan server mengirim beberapa tanggapan untuk satu permintaan klien.

Meskipun secara manual, ini adalah efek yang saat ini kami dapatkan dengan memasukkan CSS atau JS ke dalam dokumen HTML kami — kami mendorong sumber daya inlined ke klien tanpa menunggu klien untuk memintanya.

Ini adalah langkah besar dari standar HTTP saat ini dari alur kerja permintaan-respons satu-ke-satu yang ketat.

Keterbatasan HTTP / 2

Gambar browser yang mendukung HTTP / 2

SPDY memiliki kebijakan keamanan yang sedikit ketat dan membutuhkan enkripsi SSL untuk semua koneksi. HTTPS / 2 tidak memerlukan enkripsi tetapi banyak layanan tidak akan melayani HTTP / 2 tanpa SSL.

Semua browser utama mendukung HTTP / 2, tetapi tidak satupun dari mereka akan mendukungnya tanpa enkripsi. Situs web CanIUs memiliki gambaran umum tentang dukungan browser saat ini untuk HTTP / 2 , seperti yang terlihat di atas.

Kompatibilitas ke belakang dan terjemahan antara HTTP / 1.1 dan HTTP / 2 akan memperlambat kecepatan memuat halaman.

Tidak ada alasan nyata mengapa enkripsi seharusnya tidak menjadi pengaturan default atau wajib sekarang. Jika Anda sudah memiliki sertifikat SSL di situs Anda, Anda dapat  meningkatkan keamanan situs web HTTPS Anda dengan mengaktifkan HSTS.

Apakah HTTP / 2 adalah Big Thing Berikutnya?

Perbandingan waktu pemuatan HTTP / 1.1 dan HTTP / 2

HTTP / 2 diusulkan sebagai standar pada pertengahan 2015, dan sebagian besar browser menambahkan dukungan untuknya pada akhir tahun itu. HTTP / 2 sudah mempengaruhi cara internet bekerja dan bagaimana aplikasi dan server berbicara bersama.

Tidak ada persyaratan untuk memaksa penggunaan HTTP / 2, tetapi sejauh ini hanya melayani manfaat dan tidak ada kekurangan. Ini juga merupakan perubahan yang cukup kecil dari perspektif pengguna, yang tidak akan diperhatikan oleh orang-orang.

Menurut W3Tech, 31,7% dari 10 juta situs web teratas saat ini mendukung HTTP / 2.  Cara tercepat bagi sebagian besar dari Anda untuk mengaktifkan HTTP / 2 di situs web Anda adalah menggunakan Cloudflare’s CDN.

Standar yang diusulkan berikutnya (HTTP / 3) sudah ada dalam karya dan didasarkan pada QUIC , proyek percobaan lain oleh Google. Pada bulan Oktober tahun ini, IETF’S HTTP-WG dan Kelompok Kerja QUIC secara resmi meminta QUIC untuk menjadi standar baru di seluruh dunia dan mengganti namanya menjadi HTTP / 3.

Jika Anda penasaran, Akamai.com memiliki alat cepat untuk memeriksa apakah browser Anda mendukung HTTP / 2 . Jika tidak, mungkin mempertimbangkan untuk mengganti browser Anda .

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.