为什么使用 Go 编写 TCP 服务器可以接收 HTTP 请求?

为什么使用 go 编写 tcp 服务器可以接收 http 请求?

使用 go 编写 tcp 服务却收到 http 请求

问题:

在编写一个简单的 go tcp 服务器时,为什么可以接收 http 请求?代码如下:

tcpListener, err := net.ListenTCP("tcp", server.OuterServer.LocalAddress)

解答:

http 是基于 tcp 的协议。虽然 http 在 osi 模型中位于应用层(第 7 层),而 tcp 位于传输层(第 4 层),但 http 仍通过 tcp/ip 连接传输数据。

要进行 http 通信,客户端和服务器之间需要建立一个 tcp 连接。一旦建立连接,http 请求和响应就可以通过 tcp 连接的可靠传输机制进行传输。

因此,当编写一个 tcp 服务器时,实际上也可以接收 http 请求,因为两者都是通过 tcp/ip 连接传输的。

以上就是为什么使用 Go 编写 TCP 服务器可以接收 HTTP 请求?的详细内容,更多请关注硕下网其它相关文章!