美文网首页读书笔记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