12

有什么不同?如果我使用 net/http/fcgi 包,每个请求都将在新的 goroutine 中执行。net/http ListenAndServe 似乎是一样的……不是吗?有什么优点和缺点?

4

1 回答 1

15

net/http/fcgi允许您通过 FastCGI 协议侦听新连接,而ListenAndServenet/http用于侦听传入的 http 连接。使用 FastCGI 侦听器,您需要一个位于 Go 进程前面的 http 服务器,该服务器代理传入连接并通过 FastCGI 向您的 Go 进程发送请求。

如果您需要在同一个端口上公开多个服务,FastCGi 会很有用。您可以运行 Apache 或 Nginx 之类的东西作为前端,并通过 FastCGI 向您的 Go 进程公开某些 url。

如果这不是您的情况,并且您只想在端口上运行 Go Web 服务器,请坚持使用net/http.

于 2013-02-17T19:25:18.913 回答