Tamat masa melahu proksi semasa kerja HTTP yang panjang
Pilih tinjauan atau format penstriman yang ditentukan apabila kerja pelayan yang panjang menemui had melahu proksi, bukan memasukkan bait sewenang-wenangnya ke dalam respons akhir.
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 aplikasi | Kontrak kemajuan |
|---|---|
| Kerja tak segerak | 202 Accepted dengan perwakilan yang menerangkan pemantauan, diikuti permintaan status terhad dan keadaan penyiapan/kegagalan yang jelas |
| Aliran Server-Sent Events | Content-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.