Oleh | Dibuat | Dibaca 2.310 kali | 0 komentar

Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web.

Adapun informasi tentang HTTP/2 di Indonesia masih jarang beredar karena memang teknologi ini masih baru. Meskipun demikian di luar negeri sana teknologi baru ini sedang dipersiapkan bahkan mungkin beberapa diantara kita belum menyadari bahwasanya bakal dari HTTP/2 ini telah kita rasakan. Oke, akan saya coba kupas beberapa hal mengenai HTTP/2 ini.

Mengenal HTTP/2

HTTP/2 (awalnya bernama HTTP/2.0) adalah protokol web generasi terbaru saat ini yang akan membantu mempercepat loading website dan mempunyai banyak fitur baru yang canggih. HTTP/2 diresmikan standard-nya oleh IETF (Internet Enginering Task Force). Tujuan utama dibuat HTTP/2 adalah memperbaiki kelemahan yang ada di HTTP/1.1 dan membantu website bisa di-load lebih cepat dan juga lebih aman. HTTP/2 itu sendiri merupakan generasi kedua untuk protokol HTTP yang digunakan untuk jaringan WWW. HTTP/2 ini didasarkan pada SPDY, sebuah protokol yang awalnya diperkenalkan oleh Google pada tahun 2009. dan saat ini sudah mulai digunakan oleh beberapa browser seperti Mozilla Firefox, Internet Explore dan browser dari google sendiri yaitu Google Chrome. dan beberapa situs terkenal seperti Facebook juga sudah menggunakan SYPD ini. SPDY memang dirancang untuk mempercepat loading halaman web. karena menggunakan "kompresi kolom Header" dan "Multiplexyng" yang membuat browser melakukan beberapa Request kepada Web server melalui koneksi tunggal. SPDY juga membutuhkan sumber daya yang sedikit ketika browser melakukan request data ke web server, sehingga dapat mengurangi beban.

Teknologi web sudah berkembang pesat selama 25 tahun terakhir dengan adanya CSS, Javascript dan video sehingga membuat tampilan website menjadi lebih menarik dan interaktif. Akan tetapi teknologi protokol web tidak banyak berkembang. Protokol HTTP/1.1 yang paling banyak dipakai saat ini dirilis pada tahun 1999 dan sudah ketinggalan jaman. Ini menyebabkan loading website interaktif semakin lama semakin lambat dan membuat banyak developer web frustrasi. Berbagai teknik dikembangkan seperti kompresi HTML, CSS, Javascript, caching, dll. Tapi semua itu hanya membuat repot dan tidak banyak membantu. Lemotnya website semakin terasa saat diakses melalui handphone/mobile yang koneksi Internet-nya cenderung tidak stabil. Ibaratnya mobil, mesin-nya sudah ketinggalan jaman, biarpun dipaksa tetap saja mentok kemampuannya. Yang harus diganti adalah mobil-nya dengan mesin yang lebih baru dan cepat.

Perubahan Besar HTTP 16 Tahun Terakhir

HTTP atau HyperText Transfer Protocol adalah sebuah standar yang diciptakan oleh Sir Tim Berners-Lee, yang berfungsi sebagai pengatur akses antara browser pengguna dengan server hosting website. Http memang akrab di sebagian orang orang karena sering terlihat di awal alamat situs sebagai http//.

HTTP/2 dianggap sebagai salah satu perubahan terbesar semenjak pendahulunya HTTP 1.1 terakhir di update 16 tahun lalu yang bertugas mendukung World Wide Web. dan selain itu juga karena HTTP/2 ini menggunakan enkripsi data yang jauh lebih baik yang tentunya akan mempengaruhi seluruh browser dan situs situs yang ada saat ini.

Apa perbedaan HTTP/1.1 dan HTTP/2?

HTTP/1.1 menggunakan hanya 1 koneksi untuk tiap object di webserver yang mau ditampilkan di browser. Sehingga ketika satu halaman web berisi 100 object (html, images, css, javascript), dibutuhkan 2 x 100 kali koneksi utk request data dan menunggu response dari webserver. Kalau webserver terlambat memproses salah satu request maka semua request berikutnya akan tertunda dan terjadi bottleneck.

Perubahan yang diusulkan tidak memerlukan perubahan apapun pada aplikasi web yang ada, tapi aplikasi baru dapat memanfaatkan fitur baru untuk meningkatkan kecepatan.

HTTP/2 meninggalkan sebagian besar sintaks tingkat tinggi HTTP 1.1, seperti metode, kode status, field header, dan URI. Unsur yang dimodifikasi adalah bagaimana data dibingkai dan diangkut antara klien dan server.

Website yang efisien meminimalkan jumlah permintaan yang dibutuhkan untuk membuat seluruh halaman dengan minifying (mengurangi jumlah kode dan pengepakan potongan-potongan kecil kode ke bundel, tanpa mengurangi kemampuannya untuk berfungsi) sumber daya seperti gambar dan skrip. Namun, minification belum tentu nyaman atau efisien, dan masih mungkin memerlukan koneksi HTTP terpisah untuk mendapatkan halaman dan sumber daya minified. HTTP/2 memungkinkan server untuk "mendorong" konten, yaitu respond query data lebih banyak terhadap client request. Hal ini memungkinkan server untuk menyediakan data yang diketahui web browser untuk memuat sebuah halaman web, tanpa menunggu browser untuk memeriksa tanggapan pertama, dan tanpa overhead siklus permintaan tambahan.

Peningkatan kinerja tambahan dalam draft pertama dari HTTP/2 (yang merupakan salinan SPDY) berasal dari multiplexing dari permintaan dan tanggapan untuk menghindari masalah head-of-line blocking dalam HTTP 1 (bahkan ketika HTTP pipelining digunakan), kompresi headers, dan prioritas permintaan.

Secara singkat bisa dikatakan bahwa HTTP/1.1 = Basic dan HTTP/2 = Multiplexing. HTTP/2 menggunakan teknologi “multiplexing” sehingga dalam 1 koneksi dari browser bisa request dan download beberapa object sekaligus secara paralel (multi-threading). Berbeda dengan HTTP/1.1 yang melakukan 1 rekues untuk 1 koneksi.

Manfaat Utama HTTP/2

  • Mempercepat loading website secara signifikan dengan teknologi multiplexing, concurrency, kompresi header, dan server push (server bisa mem-push content untuk di-loading di background, seperti AJAX).
  • Menghemat penggunaan resources di server dan client.
  • Koneksi HTTPS berjalan lebih cepat dan lebih aman berkat teknologi kompresi dan enkripsi yang lebih efisien.
  • Memberikan kontrol lebih besar kepada developer aplikasi untuk mengatur prioritas urutan object yang mau di-load lebih dulu.
  • Lebih canggih dan cepat dibanding protokol SPDY sebelumnya. Google akan menghapus SPDY support dari browser Chrome mulai awal tahun 2016.

Apa perbedaan SPDY dengan HTTP/2?

SPDY adalah protokol yang awalnya dikembangkan oleh Google untuk memperbaiki kelemahan di HTTP/1.1. Kesuksesan SPDY menjadi dasar untuk pengembangan protokol HTTP/2.2. Setelah draft final protokol HTTP/2.2 disetujui, di bulan February 2015 Google telah mengumumkan akan menggantikan SPDY dengan HTTP/2.

Apakah HTTP/2 sudah di-support semua browsers saat ini?

Belum semua browser bisa menikmati teknologi HTTP/2 ini. Berikut adalah beberapa browser dengan versinya termasuk yang lebih baru yang mendukung protokol HTTP/2

  • Chrome 42.
  • Chrome untuk iOS.
  • Chrome untuk Android 4.2.
  • Firefox mendukung HTTP/2 yang telah diaktifkan sejak versi 36. Dukungan Eksperimental untuk HTTP/2 awalnya ditambahkan di versi 34.
  • Internet Explorer versi 11 mendukung HTTP/2, tapi hanya untuk Windows 10.
  • Microsoft Edge.
  • Opera 30.
  • Safari 9 di iOS.

Apakah Server HTTP/HTTPS sudah Mendukung HTTP/2?

Disamping belum semua browser belum mendukung teknologi HTTP/2 ini, ternyata beberapa webserverpun masih ada yang belum support. Dibawah ini adalah beberapa yang sudah support

  • Akamai Edge Server.
  • Apache 2.4.12 mendukung HTTP/2 melalui mod_h2 modul, meskipun patch yang tepat harus diterapkan pada kode sumber dari server dalam rangka untuk itu untuk mendukung modul yang. Rilis berikutnya dari Apache harus sudah memiliki patch ini.
  • CDN77 - Content Delivery Network (20 Agustus 2015).
  • F5 BIG-IP Local Traffic Manager 11.6.
  • H2O dibangun dari awal untuk mendukung HTTP/2.
  • Jetty 9.3.
  • LiteSpeed Web Server 5.0.
  • Microsoft IIS pada Windows 10 dan Windows Server 2016.
  • nginx 1.9.5.
  • OpenLiteSpeed 1.3.11 dan 1.4.8.
  • Wildfly 9.
  • Citrix NetScaler Citrix NetScaler 11.x menambahkan dukungan untuk HTTP/2.

Oke sigini dulu share dari saya kali ini. Lama banget gak bikin posting dan alhamdulillah hari ini bisa share sesuatu yang baru. semoga bermanfaat :)

IBX5A4393D5E2AD7