我對使用Lisp來支撐現代RESTful Web服務感到好奇,但考慮到許多變體和實現,很難知道從哪裏開始。使用Lisp的Web服務
我確定有人在那裏使用Lisp進行網絡相關的應用程序(只是通過這裏的SO顯示來回答這些問題),但我想知道的是是否有任何Lisp實現更適合於網絡服務比別人?(本地unicode支持,例如,內置的web相關庫,性能等)
我不是在尋找unicode「黑客」或web框架。我最感興趣的是你開箱即用的東西。我沒有將自己與任何Lisp派生或實現結合在一起,儘管我對CLISP(作爲本科計算機科學課程一部分的通用多項式計算器)上的Common Lisp有一些小的經驗。很高興知道這個問題是否有特別好的選擇,特別是那些實際上以這種方式使用Lisp的人。
我已經快速瀏覽了Hunchentoot,但它似乎支持一組有限的動詞,這是正確的嗎? (GET和POST) - 我需要比這更多功能的東西。訪問原始http請求和響應頭文件在Web服務中非常重要。 Clojure/Noir似乎提供這樣的訪問。我認爲球拍還可以訪問原始標題,但它肯定需要快速瀏覽以評估球拍的性質。也許一些球拍倡導者會留下一些評論。 – 2012-04-07 21:19:04
@MattEsch使用Hunchentoot,您可以使用'request-method *'函數訪問請求方法。即使'define-easy-handler'也不關心動詞 - 如果你願意,你可以做一個CASTMAGIC請求,它就可以工作。 :)(嘗試編寫一個簡單的處理程序,它只返回'(symbol-name(hunchentoot:request-method *))'。)Noir在調度機制中直接支持標準的HTTP動詞(GET,POST,PUT,DELETE,HEAD)。 Hunchentoot和Noir都允許您訪問HTTP請求標頭。 – 2012-04-07 23:34:27
感謝您的澄清。我只是困惑,爲什麼這些文檔正在指出特定的動詞GET和POST(就像它是一種新穎的東西)。謝謝你清理那個。我會和Hunchentoot一起去看看我能想出什麼。我現在將問題留給公衆看看是否會產生其他迴應。 – 2012-04-08 00:43:52