使用纯Erlang什么是最简单的Web服务器实现,显示" hello-world" HTML页面?
答案 0 :(得分:6)
erlang中有575个字符长web server。
$ cat hgolf.erl
main(_)->{ok,L}=gen_tcp:listen(36895,[]),s(L).
s(L)->{ok,S}=gen_tcp:accept(L),receive{tcp,S,"GET "++R}->[F|_]=string:tokens("/var/www"++R," "),case case file:read_file_info(F)of{ok,{_,_,regular,read,_,_,_,_,_,_,_,_,_,_}}->a;{ok,_}->"500 Server Error";_->"404 File Not Found"end of a->h(S,"200 OK\r\nContent-Type: "++case lists:reverse(F)of"lmth."++_->"text/html";"txt."++_->"text/plain";_->"application/octet-stream"end,[]),file:sendfile(F,S);E->h(S,E,E)end;_->E="405 Not Supported",h(S,E,E)end,gen_tcp:close(S),s(L).
h(S,H,B)->gen_tcp:send(S,["HTTP/1.1 ",H,"\r\n\r\n",B]).
如何运行
$ escript hgolf.erl
但是,作为标准Erlang / OTP发行版的一部分,还有更多功能强大的Web服务器inets。
答案 1 :(得分:0)
更简单的方法是使用Cowboy包,它们有很好的文档,第一个例子是Hello World!一。您可以在https://ninenines.eu/docs/en/cowboy/2.0/guide/getting_started/
上阅读