当前位置:   article > 正文

go语言创建http服务器_go http.responsewriter

go http.responsewriter

概念:

  1. ServeMux是一个HTTP请求路由器(或多路复用器,Multiplexor)。它将每个传入的请求的URL与已注册的pattern列表相匹配,并调用与URL最接近的pattern对应的Handler。
  2. Handler,处理器,负责输出HTTP响应的头和正文。任何满足了http.Handler接口的对象都可作为一个处理器。Handler接口只需实现一个方法:ServeHTTP(http.ResponseWriter, *http.Request)

构建一个http服务的步骤:

1. 注册处理器或直接注册处理器函数
① func Handle(pattern string, handler Handler)
②func HandleFunc(pattern string, handler func(ResponseWriter, *Request))
!!var f func(ResponseWriter, *Request)转化成Handler类型:h =HandlerFunc(f)
2. 监听TCP端口并对请求进行处理
func ListenAndServe(addr string, handler Handler) error {
server := &Server{Addr: addr, Handler: handler}
return server.ListenAndServe()
} //通过传入的参数addr及handler构建一个Server对象,再调用对象的方法进行处理
Server对象的ListenAndServe()分为两个步骤:
①监听TCP端口:ln, err := net.Listen(“tcp”, addr) 返回与请求的客户端新的socket连接
②调用Server对象的Serve()方法(先将ln装到实现了Listener接口的tcpKeepAliveListener结构体对象,再调用该方法)
func (srv *Server) Serve(l net.Listener) error

以下文章解释得超清楚了,链接如下:
Go 语言net/http 包使用模式
https://www.jianshu.com/p/ab2a790b59a2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/681879
推荐阅读
相关标签
  

闽ICP备14008679号