【发布时间】:2013-02-02 05:12:13
【问题描述】:
有什么区别? 如果我使用 net/http/fcgi 包,每个请求都将在新的 goroutine 中执行。 net/http ListenAndServe 似乎是一样的……不是吗? 有什么优点和缺点?
【问题讨论】:
-
Fcgi 还是 cgi?您真正要问的是哪一个。
有什么区别? 如果我使用 net/http/fcgi 包,每个请求都将在新的 goroutine 中执行。 net/http ListenAndServe 似乎是一样的……不是吗? 有什么优点和缺点?
【问题讨论】:
net/http/fcgi 允许您通过 FastCGI 协议侦听新连接,而 net/http ListenAndServe 用于侦听传入的 http 连接。使用 FastCGI 侦听器,您需要一个位于 Go 进程前面的 http 服务器,该服务器代理传入连接并通过 FastCGI 向您的 Go 进程发送请求。
如果您需要在同一个端口上公开多个服务,FastCGi 会很有用。您可以运行 Apache 或 Nginx 之类的东西作为前端,并通过 FastCGI 向您的 Go 进程公开某些 url。
如果这不是您的情况,并且您只想在端口上运行 Go Web 服务器,请坚持使用net/http。
【讨论】: