有什么区别? 如果我使用net / http / fcgi包,则每个请求都将在新的goroutine中执行。 net / http ListenAndServe似乎是一样的......不是吗? 有什么优点和缺点?
答案 0 :(得分:13)
net/http/fcgi
允许您通过FastCGI协议侦听新连接,而net/http
ListenAndServe用于侦听传入的http连接。使用FastCGI侦听器,您需要一个位于Go进程前面的http服务器,该服务器代理传入连接并通过FastCGI将请求发送到Go进程。
如果您需要在同一端口上公开多个服务,则FastCGi非常有用。您可以运行Apache或Nginx之类的东西作为前端,并通过FastCGI向您的Go进程公开某些URL。
如果不是这种情况,并且您只想在端口上运行Go Web服务器,请坚持使用net/http
。