我想在一个较小的项目上尝试Haskell,它应该非常适合它。
我想将其用作小型ajax应用程序的后端。
Haskell后端应该能够进行身份验证(基本,表单等),跟踪用户 session (除了用户名之外那里没有多少数据)并能够基于uri和请求类型将请求分派(dispatch)给处理程序。根据请求参数,它还应该能够将响应序列化为xml和json格式。
我想这些处理程序非常适合Haskell,因为该服务基本上是无状态的,但是我不知道故事的其余部分从哪里开始。
搜索黑客并没有给我太多提示。
纯Haskell服务器的解决方案将是首选。
最佳答案
我最近编写了一个供内部使用的生产质量Web服务。我使用了以下软件包:
另外,对于其他项目,我也在使用:
这些都不是可用于Haskell的最高级别的组件,但是它们都很可行且相当完整。我避免使用更高级别的抽象,因为我需要将其适应于现有的大型系统中,并且这些包的工作方式与我在其他Web服务项目中使用的类似组件相同。
我将该服务作为Apache2 w / mod_fcgid的基于fastCGI的处理程序运行。这似乎是可靠且有效的设置。我想与服务一起编译的基于Haskell的服务器可能会更快,但这在很少工作的情况下还是很合理的。我在2.6 GHz四核Linux服务器上每秒收到1,400个请求。
有几台Haskell纯服务器。尽管它们都非常相似,但大多数都为服务代码提供了自己的API。看一眼:
这可能要花费很多。让我们知道怎么回事!
同时,如果您想了解更多信息,可以访问HaskellWiki。
关于rest - Haskell作为REST服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2585344/