Jika perkhidmatan kekal senyap selama minit dan proksi tamat masa, pilih apa yang pelanggan harus terima sebelum menambah bait denyutan jantung. Memanjangkan pemasa boleh membantu satu penantian; kontrak respons menentukan kemajuan mana yang sah.

Reka bentuk aplikasiKontrak kemajuan
Kerja tak segerak202 Accepted dengan perwakilan yang menerangkan pemantauan, diikuti permintaan status terhad dan keadaan penyiapan/kegagalan yang jelas
Aliran Server-Sent EventsContent-Type: text/event-stream dan rekod yang difahami pelanggan SSE

202 tidak menjanjikan kerja itu berjaya. Untuk SSE, rekod komen boleh kelihatan seperti ini:

: heartbeat

Titik bertindih menjadikannya komen dan bukan peristiwa aplikasi. Nota pengarangan HTML mencadangkan komen berkala kira-kira setiap 15 saat terhadap sesetengah tingkah laku melahu proksi lama; itu panduan, bukan jaminan tamat masa sejagat.

Selesaikan pengepala dan pastikan tindanan aplikasi/penyajian melepaskan rekod dan bukannya menampannya secara setempat. Bait yang belum dihantar tidak boleh mengekalkan perantara hiliran aktif.

Jangan masukkan komen SSE ke dalam kandungan JSON atau binari biasa. Cebisan panjang sifar HTTP/1.1 menamatkan badan chunked, jadi ia bukan denyutan jantung kosong yang boleh diulang.

Kekalkan tarikh akhir operasi dan dasar pembatalan. Aktiviti trafik sahaja tidak menunjukkan kemajuan kerja yang berguna atau hasil akhir yang sah.

Artikel berkaitan