Menurut Wikipedia, WebSocket merupakan protokol komunikasi komputer, yang menyediakan saluran komunikasi full-duplex di atas koneksi TCP. Protokol WebSocket distandarisasi oleh IETF sebagai RFC 6455 pada tahun 2011, dan WebSocket API di Web IDL distandarisasi oleh W3C.
Protokol WebSocket memungkinkan interaksi antara browser dan web server dengan overhead yang lebih rendah, memfasilitasi transfer data secara real-time dari dan ke server. Hal ini dimungkinkan dengan menyediakan cara standar bagi server untuk mengirim konten ke browser tanpa diminta oleh client, dan memungkinkan agar pesan dikirimkan berulang-ulang sambil tetap membuka koneksi. Dengan cari ini, percakapan berkelanjutan dua arah dapat dilakukan antara browser dan server. Komunikasi dilakukan melalui port TCP nomor 80 (atau 443 dalam kasus koneksi terenkripsi TLS), yang menguntungkan bagi lingkungan ini dimana koneksi internet non-web diblokir menggunakan firewall.
Protokol WebScoket saat ini telah didukung oleh sebagai besar web browser popular termasuk Google Chrome, Microsoft Edge, Internet Explorer, Firefox, Safari dan Opera. WebSocket juga membutuhkan aplikasi web pada server untuk mendukungnya.
Cara Kerja Protokol WebSocket
WebSocket menyediakan koneksi persisten antara client dan server yang dapat digunakan oleh kedua belah pihak untuk mulai mengirim data setiap saat.
Client menetapkan koneksi WebSocket melalui proses yang dikenal sebagai WebSocket handshake. Proses ini dimulai dengan client mengirimkan permintaan HTTP reguler ke server. Upgrade header disertakan dalam request ini yang menginformasikan server bahwa client ingin membuat koneksi WebSocket.
Berikut ini adalah contoh sederhana dari initial request header:
GET ws://websocket.example.com/ HTTP/1.1 Origin: http://example.com Connection: Upgrade Host: websocket.example.com Upgrade: websocket
Jika server mendukung protokol WebSocket, server setuju untuk updrade dan berkomunikasi melalui upgrade header di dalam response.
HTTP/1.1 101 WebSocket Protocol Handshake Date: Wed, 16 Oct 2013 10:07:34 GMT Connection: Upgrade Upgrade: WebSocket
Sekarang handshake telah selesai koneksi yang awalnya HTTP diganti oleh koneksi WebSocket yang menggunakan koneksi TCP/IP yang samat. Pada titik ini salah satu pihak bisa mulai mengirim data.
Kenapa Menggunakan Protokol WebSocket?
WebSocket merupakan koneksi single-socket, full-duplex dan bidirectional. Dengan WebSocket, koneksi HTTP menjadi single request untuk membuka koneksi WebSocket dan menggunakan ulang koneksi yang sama dari client ke server, dan dari server ke client.
WebSocket mengurangi latency. WebSocket menggunakan single request, server tidak perlu menunggu request dari client. Client dapat mengirim pesan ke server kapan saja. Single request dapat mengurangi latensi lebih baik daripada polling, dimana mengirim request secara interval, daripada mengirim pesan jika tersedia.
WebSocket membuat koneksi real-time lebih efisien. Kamu selalu bisa menggunakan polling dan kadang streaming melalui HTTP. Websocket dapat menghemat bandwidth, CPU power dan latency. WebSocket merupakan inovasi untuk kinerja.
WebSocket merupakan protokol jaringa yang memungkinkan kamu untuk membangun standar protol lain di atasnya. WebSocket dapat menyediakan kemampuan yang lebih baik untuk aplikasi HTML5.
Jakartawebhosting.com menyediakan layanan Web Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.