美文网首页读书笔记GO
《go web 编程》第三章 web基础:Go 的 http 包

《go web 编程》第三章 web基础:Go 的 http 包

作者: bycall | 来源:发表于2022-08-18 19:26 被阅读0次

Go 的 http 有两个核心功能:Conn、ServeMux

Conn 的 goroutine


Go 为了实现高并发和高性能,使用了 goroutines 来处理 Conn 的读写事件,这样每个请求都能保持独立,相互不会阻塞,可以高效的响应网络事件。这是 Go 高效的保证。

Go 在等待客户端请求里面是这样写的:

c, err := srv.newConn(rw)
if err != nil {
    continue
}
go c.serve()

这里我们可以看到客户端的每次请求都会创建一个 Conn,这个 Conn 里面保存了该次请求的信息,然后再传递到对应的 handler,该 handler 中便可以读取到相应的 header 信息,这样保证了每个请求的独立性。

相关文章

网友评论

    本文标题:《go web 编程》第三章 web基础:Go 的 http 包

    本文链接:https://www.haomeiwen.com/subject/brdsgrtx.html