EWGI和Webmachine都提供了Erlang中的HTTP抽象。我想知道他們的方法中關鍵的概念差異是什麼?Erlang Web網關接口(EWGI)和Webmachine之間有什麼區別?
6
A
回答
8
EWGI爲HTTP中間件提供了一個抽象的地方,並且對於任何比請求/響應對存在更深的東西都是盲目的。這是一個經過驗證的真實模式,用於堆疊系統層來構建一個連貫的整體,但它無助於使整個系統正確或可以理解。
Webmachine包含一個顯式模型,不僅用於處理請求,還用於管理HTTP協議本身的內部語義。通過爲應用程序開發人員提供一種直觀和富有表現力的方式來描述他們的應用程序的HTTP行爲,Webmachine可以非常容易地創建形狀像Web的系統,並且非常容易理解。
這兩個系統可能是互補的。目前Webmachine只使用mochiweb提供的請求和響應,但如果提供了一個可靠的補丁程序,允許Webmachine作爲EWGI應用程序生成,我懷疑它會被接受。鑑於這兩個系統的形狀,這不應該是一個太大的承諾。
3
EWGI應該是用於編寫請求處理程序的通用API,這是許多Web服務器實現的API。 EWGI受Python的WSGI的啓發。
Webmachine只是一個獨立的應用程序,擁有自己的API,它是獨立執行的。
相關問題
- 1. 抽象類和接口之間有什麼區別?
- 2. 模擬類和接口之間有什麼區別?
- 3. Visual Studio Publish Web和Project Publish Web窗口之間有什麼區別?
- 4. 子窗口和後代窗口之間有什麼區別?
- 5. 彈出窗口和彈出窗口之間有什麼區別?
- 6. 混合連接和本地數據網關之間有什麼區別?
- 7. Erlang的Ports和RPC有什麼區別?
- 8. Erlang:「include_lib」和「include」有什麼區別?
- 9. IComparable和IEquatable接口有什麼區別?
- 10. dpm()和dsm()之間有什麼區別?
- 11. @dynamic和@synthesize之間有什麼區別?
- 12. vbNullString和「」之間有什麼區別嗎?
- 13. * zoom和zoom之間有什麼區別?
- 14. String.Concat,string.format和+之間有什麼區別?
- 15. StaticLayout和DynamicLayout之間有什麼區別
- 16. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 17. :: after和after之間有什麼區別?
- 18. %.02f和%.2f之間有什麼區別?
- 19. {$ var}和$ var之間有什麼區別?
- 20. ReleaseFloatArrayElements和DeleteLocalRef之間有什麼區別
- 21. {0}和「」之間有什麼區別?
- 22. getA()和this.getA()之間有什麼區別?
- 23. @observable和@published之間有什麼區別
- 24. $ {}和#{}之間有什麼區別?
- 25. url.getFile()和getpath()之間有什麼區別?
- 26. KVC和Properties之間有什麼區別?
- 27. Lazy.Force()和Lazy.Value之間有什麼區別
- 28. 「層」和「層」之間有什麼區別?
- 29. 1.1em和1.05em之間有什麼區別?
- 30. proc和lambda之間有什麼區別?