Jika aplikasi sudah terbuka WebSocket
untuk feed langsung, haruskah saya menggunakannya AJAX
untuk komunikasi lain dengan server?
Karena koneksi sudah dibuka, haruskah kita menggunakannya untuk permintaan yang Request/Response
bukan waktu nyata?
Saya lebih suka RESTful HTTP
permintaan karena saya menemukannya lebih mudah di-debug. Anda dapat menggunakan browser dengan url atau ikal untuk menguji apa yang dikembalikan API. Anda tidak perlu menulis kode untuk membuka a WebSocket
.
Apakah akan aneh untuk memiliki RESTful HTTP API
dan WebSocket
aplikasi yang sama?
rest
ajax
websockets
Marc
sumber
sumber
Jawaban:
Salah satu tujuan desain inti dari Websockets adalah memungkinkan protokol HTTP dan Websocket dikomunikasikan melalui port yang sama. Ini mencapai ini dengan secara eksplisit mengharuskan klien untuk melakukan jabat tangan Websocket dengan permintaan Peningkatan HTTP. Dengan cara ini server dapat menangani koneksi permintaan HTTP standar serta permintaan Peningkatan HTTP yang sekarang ditingkatkan ke koneksi dupleks dua arah persisten.
Jadi ya, ini jelas merupakan use case yang valid, namun apakah Anda HARUS melakukan ini untuk aplikasi spesifik Anda adalah masalah yang sama sekali berbeda. Soket web berguna dan masuk akal jika Anda memiliki skenario bahwa server harus memiliki kemampuan untuk mengirim data yang tidak diminta ke klien (umpan langsung). Protokol HTTP dan layanan REST berguna di mana Anda ingin memblokir permintaan data klien yang sinkron.
Jika persyaratan Anda sedemikian rupa sehingga keduanya masuk akal untuk aplikasi Anda, maka Anda harus menggunakan keduanya. Namun jika interaksi Anda hanya dengan server berbasis umpan langsung maka layanan REST tidak sesuai. Saya pikir kemudahan debugging harus peringkat agak rendah dalam hal pentingnya Kualitas Sistem Atribut yang Anda harus arsitek desain Anda.
sumber