TCP 监听却能接收 HTTP 请求:Golang 服务器如何做到?

tcp 监听却能接收 http 请求:golang 服务器如何做到?

TCP 监听却能接收 HTTP 请求的原因

众所周知,在 OSI 模型中,HTTP 协议位于第 7 层(应用层),而 TCP 协议位于第 4 层(传输层)。那么,为什么使用 Golang 编写的 TCP 监听服务器可以接收 HTTP 请求呢?

HTTP 与 TCP 协议的关系

事实上,HTTP 协议在传输数据时依赖于 TCP/IP 连接。这意味着,在 HTTP 客户端和服务器可以在 TCP 层建立连接之前,必须先通过 TCP/IP 连接交换数据。换句话说,TCP 作为一种可靠的传输协议,为 HTTP 请求和响应的传输提供了底层基础。

Golang 示例中,net.ListenTCP 函数用于监听传入的 TCP 连接,而 Postman 是一个 HTTP 请求测试工具。因此,即使服务器正在监听 TCP 连接,但它也可以接受 HTTP 请求,因为 HTTP 协议依赖于 TCP 进行传输。

以上就是TCP 监听却能接收 HTTP 请求:Golang 服务器如何做到?的详细内容,更多请关注硕下网其它相关文章!