Monday, July 26, 2021

HTTP dan Websocket Apakah Perbedaannya


HTTP : HTTP bersifat searah dimana client mengirimkan request dan server mengirimkan response. Mari kita ambil contoh ketika user mengirimkan request ke server request ini masuk dalam bentuk HTTP atau HTTPS, setelah menerima request server mengirimkan response ke klien, setiap permintaan dikaitkan dengan respons yang sesuai, setelah mengirim respons, koneksi ditutup, setiap permintaan HTTP atau HTTPS membuat koneksi baru ke server setiap kali dan setelah mendapatkan respons, koneksi dihentikan dengan sendirinya.

HTTP adalah protokol stateless yang berjalan di atas TCP yang merupakan protokol berorientasi koneksi yang menjamin pengiriman transfer paket data menggunakan metode handshaking tiga arah dan mengirimkan kembali paket yang hilang.

HTTP dapat berjalan di atas protokol berorientasi koneksi yang andal seperti TCP, SCTP. Ketika klien mengirim permintaan HTTP ke server, koneksi TCP terbuka antara klien dan server dan setelah mendapat respons, koneksi TCP dihentikan, setiap permintaan HTTP membuka koneksi TCP terpisah ke server, misalnya jika klien mengirim 10 permintaan ke server, 10 koneksi TCP terpisah akan dibuka dan ditutup setelah mendapatkan respons/fallback.

WebSocket: WebSocket adalah dua arah, protokol full-duplex yang digunakan dalam skenario yang sama dari komunikasi client-server, tidak seperti HTTP dimulai dari ws:// atau wss://. Ini adalah protokol stateful, yang berarti koneksi antara klien dan server akan tetap hidup sampai diakhiri oleh salah satu pihak (klien atau server).setelah koneksi ditutup oleh salah satu klien dan server, koneksi diakhiri dari kedua ujungnya.

Mari kita ambil contoh komunikasi client-server, ada client yang merupakan web browser dan server, setiap kali kita memulai koneksi antara client dan server, client-server melakukan handshaking dan memutuskan untuk membuat koneksi baru dan koneksi ini akan tetap hidup sampai diakhiri oleh salah satu dari mereka. Ketika koneksi dibuat dan hidup komunikasi berlangsung menggunakan saluran koneksi yang sama sampai diakhiri.

Beginilah setelah client-server handshaking, client-server memutuskan untuk koneksi baru agar tetap hidup, koneksi baru ini akan dikenal sebagai WebSocket. Setelah pembentukan link komunikasi dan koneksi dibuka, pertukaran pesan akan berlangsung dua arah mode sampai koneksi tetap antara client-server. Jika salah satu dari mereka (client-server) mati atau memutuskan untuk menutup koneksi ditutup oleh kedua pihak. Cara kerja socket sedikit berbeda dari cara kerja HTTP, kode status 101 menunjukkan protokol switching di WebSocket.

Disqus Comments