web server 工作原理

web server 的几个重要概念

Request 用户请求的信息,用来解析用户的请求信息,包括post、get、cookie、url等信息
Response 服务器需要反馈给客户端的信息
Conn 用户的每次请求链接
Handler 处理请求和生成返回信息的处理逻辑

web server 执行流程

1 创建Listen Socket, 监听指定的端口, 等待客户端请求到来。
2 监听并接收客户端的请求, 接下来通过Client Socket与客户端通信。
3 处理客户端的请求, 首先从Client Socket读取HTTP请求的协议头, 如果是POST方法, 还可能要读取客户端提交的数据, 然后交给相应的handler处理请求, handler处理完毕准备好客户端需要的数据, 通过Client Socket写给客户端。

go 语言实现 web server 的关键点 :

1. 通过 http.ListenAndServe(":800", nil) 监听请求
2. 通过 http.HandleFunc("/", home) 处理请求
3. 通过 http.ResponseWriter() 输出响应结果