Apa Itu WebSocket

WebSocket adalah standar baru untuk komunikasi realtime pada Web dan aplikasi mobile. WebSocket dirancang untuk diterapkan di browser web dan server web, tetapi dapat digunakan oleh aplikasi client atau server. WebSocket adalah protokol yang menyediakan saluran komunikasi full-duplex melalui koneksi TCP tunggal.

WebSocket merupakan bagian dari HTML5. WebSocket menghadirkan pengurangan besar dalam lalu-lintas jaringan yang tidak penting dan latency dibandingkan dengan solusi polling dan long-polling yang telah digunakan untuk mensimulasikan koneksi dua arah dengan cara menjaga dua koneksi tetap terhubung.

Teknologi Comet
Sebelum Websocket dibuat, sudah ada teknologi serupa yang dinamakan Comet. Comet adalah model aplikasi Web yang memungkinkan server web untuk mengirim data ke browser klien tanpa harus mengirimkan rekues terlebih dahulu. Comet menjadi istilah umum untuk teknik mencapai interaksi client-server seperti tersebut. Comet dikenal dengan nama lain seperti Ajax Push, Reverse Ajax, Two-way-web, HTTP Streaming dan HTTP server push. Teknik ini bergantung pada teknologi browser asli seperti JavaScript dan tidak menggunakan properti plug-in lain. Namun salahsatu kekurangan dari Comet adalah implementasi yang nontrivial, dan beban dari HTTP header dan TCP handshake yang tidak efisien untuk pesan-pesan yang kecil. Dari kekurangan itulah dikembangkan protokol websocket.Kapan WebSocket Pertama Kali Di temukan ?
WebSocket pertama kali dirujuk sebagai TCP Connection dalam spesifikasi HTML5, sebagai tempat untuk berbasis TCP socket API. Pada bulan Juni 2008, Nama WebSocket diciptakan oleh Ian Hickson dan Michael Carter, serangkaian diskusi yang dipimpin oleh Michael Carter yang mengakibatkan versi pertama dari protokol dikenal sebagai WebSocket.Manfaat WebSocket
1. Websocket memungkinkan server untuk mendorong data kepada klien yang terhubung
2. Mengurangi traffic atau lalu lintas jaringan yang tidak perlu dan latency menggunakan full duplex melalui koneksi tunggal.
3. Streaming melalui proxy dan firewall, mendukung komunikasi simultan hulu dan hilir.
4. Kompatibel dengan pre-WebSocket dunia dengan cara beralih dari koneksi HTTP ke WebSockets.

Permasalah yang di selesaikan dengan adanya “WebSocket”
Latar belakang yang mendasari terciptanya websocket adalah permintaan beberapa client yang mengharuskan developer bisa membuat aplikasi berbasis web secara real time atau real-time apps. Aplikasi real time adalah dimana ketika ada perubahan data, maka saat itu juga website di browser klien juga ada perubahan atau setidaknya muncul notifikasi. Ada alternatif lain untuk permasalahan developer tersebut, diantaranya adalah metode polling dan long polling.Metode polling ini mengirimkan request data ke server secara terus menerus. Kalau hanya satu client yang melakukan request berulang seperti itu, mungkin tidak masalah, tapi bagaimana jika ada beberapa client yang mengakses satu server dan berulangkali melakukan metode Polling. Maka server akan jadi sibuk dan rentan terkena serangan DDOS.

Metode long polling adalah metode polling dengan interval waktu yang berkala. Jadi request tidak sesering metode Polling. Manfaatnya adalah server jauh lebih stabil dibandingkan dengan metode polling. Namun permasalahannya sederhana, Long Polling tidak menjawab real time, karena ada interval waktu yang digunakan.

Websocket muncul pada tahun 2009 sebagai proposal, kemudian dikembangkan selama 3 tahun sehingga WebSocket sekarang jauh lebih stabil dan sudah banyak di-support oleh bermacam-macam browser.

Referensi:

/sekilas-tentang-websocket/2015/05/web-socket.html/wiki/WebSocket