Web應用程序操作通常旨在避免用戶長時間等待。但是,Web應用程序可能執行的一些操作可能是計算密集型的,需要花費相當長的時間。 REST中處理這種可能需要幾分鐘的操作的最佳實踐是什麼,但需要立即對用戶做出響應? Web應用程序可能需要幾分鐘時間才能返回HTTP請求的響應,還是更好地在其他地方的後臺返回202響應,然後向用戶提供某種形式的通知?Web應用程序中的長時間運行
1
A
回答
0
它是沒關係的Web應用程序需要幾分鐘才能返回HTTP請求的響應
這種方法的問題的零件號是,如果服務器不承認及時提出要求,客戶不會知道它到達了預期的目的地。
是否更好地返回一個202響應,在其他地方的後臺進程,然後向用戶提供某種形式的通知?
是的。這正是202 Accepted所設計的
202響應是有意無意的。它的目的是允許服務器接受對某個其他進程(可能是每天只運行一次的面向批處理的進程)的請求,而不要求用戶代理與服務器的連接一直持續到進程完成。與此響應一起發送的表示應該描述請求的當前狀態並指向(或嵌入)狀態監視器,該狀態監視器可以向用戶提供關於何時將完成請求的估計。
它可以幫助我記住我們正在談論您的整合領域;客戶端不會與您的應用程序交談。而是與您的API進行交談,該API假裝成客戶端可以與之集成的網站。因此,您的客戶端將請求發送到API,並且API響應接收到的消息以及一系列鏈接,這些鏈接將幫助客戶端繼續使用協議並最終實現目標。
相關問題
- 1. 長時間運行的應用程序
- 2. Xamarin.forms - 長時間運行應用程序
- 3. Web應用程序長時間運行的URL模式
- 4. 管理Web應用程序中長時間運行的進程的策略?
- 5. 長時間運行程序
- 6. 金字塔web應用程序中的長時間運行任務
- 7. 應用程序在Clozure中交付長時間運行的應用程序CL
- 8. Python - 從Web應用程序啓動長時間運行的進程
- 9. ASP MVC應用程序重置長時間運行的線程
- 10. 在長時間運行的應用程序中運行並行任務
- 11. 長時間運行後應用程序在nvcuda.dll中崩潰
- 12. 長時間運行的查詢Web應用程序(天藍色)解決方案
- 13. 在長時間運行的應用程序中使用臨時線程?
- 14. Spark作爲Web服務器長時間運行的程序
- 15. Spring Boot - 針對非web應用程序的長時間運行的應用程序
- 16. Web應用程序花費很長時間執行
- 17. Android長時間運行的應用程序
- 18. 長時間運行的應用程序(尾部像)
- 19. 處理長時間運行的應用程序
- 20. 長時間運行的應用程序變慢
- 21. Android Wear上的長時間運行應用程序
- 22. 運行Web應用程序時出錯?
- 23. .NET控制檯應用程序與Web應用程序一起處理長時間運行的任務
- 24. 此程序運行時間太長
- 25. UWP應用程序的運行時間
- 26. Java桌面應用程序需要很長時間運行
- 27. 如何長時間在後臺運行iphone應用程序?
- 28. 如果應用程序運行很長時間,則缺少類
- 29. ASP.NET MVC應用程序運行多長時間
- 30. 在後臺運行應用程序很長時間