Real-time Websocket, Komunikasi dua arah dalam teknologi web

22 September 2019 Posted by
Real-time Websocket, Komunikasi dua arah dalam teknologi web
Pesatnya perkembangan teknologi web dengan ditemukannya websocket sebagai mekasnisme komunikasi antara client dan server memungkinkan lalu lintas data dua arah secara aktif.

Pesatnya perkembangan teknologi web dengan ditemukannya websocket sebagai mekasnisme komunikasi antara client dan server memungkinkan lalu lintas data dua arah secara aktif. Ini menunjukkan bahwa selama koneksi antara client dan server terbuka, browser tidak hanya dapat mengirimkan request kepada server, tetapi juga menerima data dari server tanpa harus mengirimkan request terlebih dahulu. Aplikasi berbasis web yang mengadopsi websocket sebagai jalan untuk lalu lintas data ini biasanya disebut dengan Aplikasi Real Time. 

Proses komunikasi antar client browser dan server pada teknologi web umumnya melalui Hypertext Transfer Protocol (HTTP). Komunikasi terjadi ketika client menyampaikan request kepada server dan selanjutnya dibalas dengan response dari sisi server sekaligus mengakhiri komunikasi. Pada model komunikasi sperti ini tidak mungkin terjadinya komunikasi timbal balik (full-duplex) yang konsisten antara browser dengan server. Dengan kata lain, web server tidak akan pernah memulai komunikasi sebelum browser mengirim request.

Telah banyak penelitian dalam pengembangan teknologi web untuk membuat server mampu berkomunikasi langsung dengan browser, di antaranya dengan metode polling yaitu dengan mengautomatisasi browser untuk melakukan request kepada server dengan memanfaatkan timer. Selanjutnya metode long-polling yaitu dengan memodifikasi sisi server untuk menangani request dengan menunggu dalam periode waktu tertentu, dan server akan melakukan response jika menemukan data baru dalam rentang periode tersebut. Dengan mengadopsi dua metode tersebut, browser akan cepat mendapatkan distribusi data dari server. Akan tetapi, konsekwensi dari metode tersebut mengakibatkan konsumsi processor dan memory untuk menangani koneksi HTTP akan sangat besar.

Metode selanjutnya adalah SSE yang memungkinkan streaming server-klien yang lebih efisien, latensi rendah data berbasis teks. Klien memulai koneksi SSE, dan server menggunakan protokol SSE untuk memberikan response pembaruan ke klien. Klien tidak dapat mengirim data apa pun ke server setelah proses transaksi awal. Kondisi ini tidak memungkinkan terjadinya komunikasi timbal balik (full-duplex) yang konsisten antara browser dengan server.

 

Hadirnya HTML5 dalam teknologi web, memungkinkan adanya komunikasi full-duplex antara server dengan browser dengan memanfaatkan fitur websocket. Websocket menawarkan efisiensi pada penggunaan sumberdaya internet dengan meminimalisir konsumsi kerja processor dan kapasitas  memory. Dari sisi keamanan, websocket memiliki tingkat keamanan sama dengan HTTP dan HTTPS. Maka dari itu, websocket bisa dikatakan sebagai solusi paling baik untuk komunikasi timbal balik antar client dan server serta meminimalisir kekacauan pada lalu lintas jaringan dan keamanan.

Websocket diciptakan sebagai solusi ideal bagi komunikasi timbal balik antara server dan browser dalam teknologi web. Dimulai dengan proses request melalui protokol HTTP akan tetapi komunikasi selanjutnya berjalan pada layer TCP. Proses inisialisasi yang disebut handshake dimulai dari sisi klien melalui HTTP atau HTTPS berlaku seperti tekonologi web konvensional pada umumnya hanya dengan tambahan special-header “Upgrade:websocket” sebagai tanda komunikasi dilanjutkan oleh server melalui websocket protokol dengan model komunikasi full-duplex

Artikel Terkait