Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis API

Apa itu WebSocket dan Bagaimana Cara Kerjanya

Artikel ini membahas apa itu WebSocket, cara kerjanya, dan hubungannya dengan HTTP.

Ardianto Nugroho

Ardianto Nugroho

Updated on April 15, 2025

WebSocket adalah protokol komunikasi yang memungkinkan komunikasi dua arah dan waktu nyata antara klien dan server. Dalam artikel ini, kita akan menjelajahi apa itu WebSocket dan bagaimana cara kerjanya, termasuk keunggulan dan komponen utamanya. Bergabunglah dengan kami saat kita menyelami dunia WebSocket dan kemampuannya yang menarik.

Apa itu WebSocket

WebSocket adalah protokol yang digunakan untuk membuat saluran komunikasi dua arah dan waktu nyata dalam aplikasi web. Tidak seperti permintaan HTTP tradisional yang biasanya satu permintaan diikuti oleh satu respons, WebSocket dapat membuat koneksi persisten yang memungkinkan server untuk mendorong data ke klien secara waktu nyata sambil juga menerima data dari klien. Dibandingkan dengan polling tradisional atau long polling, WebSocket secara signifikan mengurangi lalu lintas jaringan dan latensi, meningkatkan efisiensi dan kecepatan transmisi data. Ini sangat berguna untuk mengembangkan aplikasi web waktu nyata dan game online.

Apa itu koneksi WebSocket? WebSocket membuat saluran komunikasi dua arah antara browser dan server, memungkinkan server untuk secara proaktif mendorong pesan ke browser tanpa perlu browser terus-menerus mengirim permintaan ke server. Prinsipnya melibatkan pembuatan "soket" antara browser dan server dan mentransmisikan data melalui handshake. Karena protokol ini membutuhkan dukungan dari browser dan server, protokol ini perlu dinilai dan ditangani dalam aplikasi.

Prinsip WebSocket

WebSocket Principle

WebSocket adalah protokol komunikasi dua arah berdasarkan TCP yang diperkenalkan dengan HTML5, yang dikenal karena kompatibilitasnya dengan HTTP, overhead rendah, dan komunikasi yang efisien. WebSocket membuat koneksi persisten antara klien dan server untuk transmisi data dua arah waktu nyata.

Fitur utama WebSocket adalah pembentukan koneksi TCP persisten yang tetap ada hingga klien atau server memulai permintaan penghentian. WebSocket memberi tahu server tentang keinginan untuk meningkatkan protokol dari HTTP/1.1 ke protokol WebSocket melalui informasi header Upgrade di HTTP/1.1.

WebSocket dibangun di atas protokol HTTP, dan semua permintaan WebSocket dikirim melalui protokol HTTP standar, yang kemudian dikenali sebagai informasi header spesifik Upgrade di sisi server. HTTP sangat penting untuk WebSocket, karena WebSocket menggunakan enkripsi Sec-WebSocket-Key selama handshake dan tanda tangan SHA-1.

Setelah koneksi WebSocket dibuat, klien dan server dapat mengirim aliran biner atau string Unicode satu sama lain. Semua data ditutupi, dengan nilai mask yang dihasilkan secara acak oleh server. Sebelum mengirim data, data tersebut harus ditutupi untuk mencegah gangguan jahat oleh pihak ketiga.

Perlu dicatat bahwa protokol komunikasi WebSocket didasarkan pada frame (paket data). Paket data lengkap dapat dibagi menjadi beberapa frame, yang masing-masing mencakup sebagian data dan informasi header.

Hubungan Antara WebSocket dan HTTP

WebSocket VS HTTP

Kedua Protokol Digunakan untuk Komunikasi Jaringan.

  • HTTP (Hypertext Transfer Protocol) adalah protokol berdasarkan model permintaan dan respons, yang awalnya digunakan untuk aplikasi web.
  • WebSocket adalah protokol komunikasi dua arah yang dapat membuat koneksi persisten antara klien dan server untuk memungkinkan komunikasi waktu nyata.

Saat membuat koneksi WebSocket, protokol WebSocket mengharuskan penggunaan protokol HTTP. Secara khusus, ketika klien ingin membuat koneksi WebSocket, ia mengirimkan permintaan handshake melalui permintaan HTTP. Jika server menyetujui handshake, ia akan mengirimkan respons handshake, dan protokol HTTP kemudian akan ditingkatkan ke protokol WebSocket.

Protokol HTTP dan WebSocket juga memiliki kegunaan yang berbeda. Protokol HTTP terutama digunakan untuk komunikasi permintaan dan respons antara klien dan server, sedangkan protokol WebSocket terutama digunakan untuk komunikasi waktu nyata dan push server. Sederhananya, protokol HTTP adalah "pertanyaan dan jawaban", sedangkan protokol WebSocket adalah "percakapan".

Singkatnya, WebSocket dan HTTP adalah dua protokol berbeda dengan perbedaan dalam mode komunikasi, penggunaan, dan pembentukan koneksi, tetapi mereka juga terkait satu sama lain.

Menggunakan Apidog untuk Debug Layanan WebSocket

Jika Anda telah mengembangkan layanan WebSocket dan ingin men-debug-nya, kami sarankan untuk menggunakan beberapa alat debugging API yang sangat baik, seperti Apidog, yang memiliki kemampuan untuk men-debug layanan WebSocket.

Ekstensi Google Chrome

Apidog memiliki versi web dan klien, jika Anda menggunakan versi web dan ingin men-debug layanan lokal, Anda perlu menginstal ekstensi Google Chrome Apidog. Tautan unduhan: Ekstensi Google Chrome Apidog

Langkah 1. Membuat Permintaan WebSocket

Dalam pembaruan terbaru Apidog, mengakses antarmuka WebSocket menjadi mudah hanya dengan mengklik tombol "+" di sisi kiri proyek Anda dan memilih "Antarmuka WebSocket Baru (Beta)".

Dari sana, Anda dapat memasukkan URL antarmuka WebSocket Anda untuk membuat koneksi dan mengirim serta menerima pesan dengan lancar. Di bawah ini, kami akan memberikan instruksi yang lebih rinci.

Langkah 2. Mengatur Pesan dan Parameter

Di bagian Pesan, Anda dapat mengisi informasi yang ingin Anda kirim ke sisi server, dan server akan menerima informasi yang Anda transmisikan.

Setting Message and Params

Selama proses transmisi, parameter juga dapat dilakukan. Parameter kueri dapat dibawa pada alamat, dan tipe data yang dapat dibawa meliputi string, integer, angka, array.

Paras

Langkah 3. Menyimpan Permintaan

Setelah menyelesaikan informasi yang diperlukan, Anda dapat mengklik tombol simpan untuk menyimpannya untuk penggunaan di masa mendatang, sehingga mudah diakses lagi lain kali.

Saving Request

Langkah 4. Menghubungkan dan Mengirim Permintaan WebSocket

Untuk berkomunikasi dengan server WebSocket, kita perlu membuat koneksi WebSocket. Kita dapat dengan mudah mengklik tombol "hubungkan" untuk melakukannya.

 Connect and send WebSocket requests

Setelah koneksi berhasil, Apidog akan menampilkan keberhasilan dengan segera. Di sisi server, respons juga akan dibuat karena koneksi berhasil.

Langkah 5. Mengirim Permintaan WebSocket

Kemudian kita dapat berkomunikasi dengan server melalui WebSocket. Kita dapat menggunakan Apidog untuk mengklik tombol kirim untuk mengirim pesan dan parameter ke server.

Langkah 6. Berkomunikasi dengan layanan WebSocket

Setelah mengirim, server juga dapat mengirim informasi ke klien. Misalnya, dalam kasus saya, saya mengatur server untuk mengirim stempel waktu saat ini ke klien setiap detik. Ini adalah fungsi WebSocket dari Apidog, yang sangat nyaman.

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)Tutorial

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

Ardianto Nugroho

April 15, 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan KomprehensifTutorial

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

Ardianto Nugroho

April 11, 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat LanjutTutorial

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

Ardianto Nugroho

April 11, 2025