这是我参与更文挑战的第 2 天,活动详情查看: 更文挑战
如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人博客
初探 Go http 服务器源码
注册路由
注册路由 源码在 golang\src\net\http\server.go 文件

ServeMux是一个HTTP请求多路复用的服务器,它将每个请求 URL 与已注册路由列表进行匹配,并调用 匹配路由 的 对应的处理程序
这里需要说明的是 handler func(ResponseWriter, *Request) 是把一个函数 作为 参数 传递给 HandleFunc 方法,实现函数的回调(闭包)
结合上面 服务端代码分析就是:

开启服务器
Serve 接受 Listener l 传入 连接,为每一个连接创建一个新 goroutine。 服务 goroutine 读取请求并然后调用 srv.Handler 来处理响应他们。

处理连接
有了上面两步 注入路由 和 开启服务等待请求后。
事情就简单了,就是拿着请求去匹配路由,调用路由对应方法。
这里由 ServeHTTP 将请求分发, url 匹配路由 后分派给 对应处理程序

© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END























![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)