golang中web的工作流程
golang中web的工作流程
简要
首先我们来先看一下web的工作流程,下面是一张流程图

golang中web的工作流程

这一张图是golang 的web工作流程,简单进行介绍一下:
- SOCKET:这个地方Web Server将绑定套接字(可以简单的把它理解成一个唯一id)
- BIND:这里进行端口号的绑定
- LISTEN:进行端口的监听
- LISTENT SOCKET:这个地方web server将阻塞并等待用户的请求
- CLIENT SOCKET:这里是WEB SERVER的处理中心,用户的所有请求都将在这里处理
- HANDLE REQUEST:这里相当于是一个处理函数(例如:请求头的读取,POST请求时请求体的读取;响应等)。
工作流程的模拟
当Web Server为Listen状态后,用户经过三次握手后与服务器建立连接,这个时候用户发送请求,该请求会发送到Client Socket处理中心去,处理中心调用处理函数,通过处理函数读取http请求的请求头以及请求体,再进行请求相关的操作,然后将响应的东西返回给处理中心,处理中心再返回给客户端。
golang中启动http的方式
1 | package main |
这是golang中启动http服务的方式,运行这段代码后,我们在浏览器中输入: http://127.0.0.1:8080/defineServerMux和http://127.0.0.1:8080/,结果如下


- Post title: golang中web的工作流程
- Create time: 2020-11-09 15:23:11
- Post link: post/40086.html
- Copyright notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.
Comments