0
我有一個請求返回一個JSON對象(由AngularJS Web應用程序中的AJAX調用請求),它表示服務器上的某些文件(node.js) 。 大部分時間結果都存儲在數據庫中,所以響應非常快。需要很長時間處理的HTTP響應的進度
但是,如果數據庫尚未填充或文件已更改,則需要解析文件(這包括服務器向第三方Web服務發出請求)和(存儲在數據庫中),然後是發送給客戶。
這可能需要10秒或更長時間,具體取決於有多少文件。
當前Web瀏覽器將等待響應,並且我有一個單獨的WebSocket將解析進度傳遞到網頁上的進度條。但是,如果服務器上有很多文件,Web瀏覽器將會超時。
因此,如果需要解析,我應該立即返回一個響應,並在告訴解析完成後(通過WebSocket)獲取客戶端請求。對此有什麼合適的迴應? 202接受?或者也許需要升級(對WebSocket)?
或者有沒有辦法通過HTTP發送進度,而不是使用WebSockets呢? (比如HTTP頭部使用百分比完整頭部進行流式處理,然後發送JSON到主體中,或者如果Web瀏覽器需要很長時間才能獲得響應主體,則會超時)。