我正在構建一個REST風格的後端Web服務,它將預生成的數據blob提供給前端站點。 blob本身並不大,並且可以在單個HTTP響應/請求中輕鬆滿足。後端是用PHP編寫的。正確處理長時間運行的HTTP進程
它一切正常。困難在於blob再生,當有許多斑點時需要更長的時間。重新生成可能需要比(單獨託管的)服務器上的響應超時更長的時間。
我想進行如下操作: - 發送的初始請求是「再生所有斑點」 - 處理開始時,沒有響應,直到所有已完成(HTTP 200,所有沒說的)或I達到一個內部時間限制 - 如果達到了時間限制,我想發送一個響應,指出處理是不完整的(哪個HTTP狀態是合適的,因爲處理成功,但不完整? - 206不適用沒有範圍標題... ),以便客戶可以請求繼續。我可以想象返回的數據表明「請繼續」請求應該是什麼(最好在鏈接頭中完成?) - 客戶端然後請求繼續,並且循環繼續,直到信號完全成功爲止。
什麼是在HTTP客戶端 - 服務器交換中發信號的最佳方式?我準備寫一小段Javascript來處理客戶端循環。
感謝您的任何好點子!
另請參閱http://stackoverflow.com/questions/1434647/using-the-http-range-header-with-a-range-specifier-other-than-bytes和FloO鏈接在StackOverflow博客圈 –