用户访问网站流程
1. 首先dns对域名进行解析
2. 客户端和解析得到的IP地址进行三次握手,建立tcp连接
3. 客户端向网站服务器发送http请求报文
包含 请求方法 请求行 请求头 空行 请求主体[get方法中没有请求主体,post方法中会有请求主体]
4. 网站服务器向客户端发送http响应报文
包含 起始行 响应头 空行 响应主体
5. 全部数据传输完毕后,进行四次挥手过程结束整个请求流程
curl -v 可以看到请求过程
[root@k8s-node2 ~]# curl -v www.a.com
* About to connect() to www.a.com port 80 (#0) # 1. 首先dns对域名进行解析
* Trying 10.0.0.65...
* Connected to www.a.com (10.0.0.65) port 80 (#0) # 2. 客户端和解析得到的IP地址进行三次握手
> GET / HTTP/1.1 # 3. 客户端向网站服务器发送http请求报文
> User-Agent: curl/7.29.0 # 请求方法
> Host: www.a.com
> Accept: */*
> # 4. 空行
< HTTP/1.1 200 OK # 5. 响应主体
< Server: nginx/1.16.1 # 服务软件信息
< Date: Tue, 04 Aug 2020 13:05:40 GMT # 响应时间
< Content-Type: text/html # 请求数据类型
< Content-Length: 10 # 请求的内容长度 Content-Length 10
< Last-Modified: Sun, 02 Aug 2020 06:22:56 GMT # 由服务器往客户端发送的 HTTP 头 记录页面最后修改时间
< Connection: keep-alive # 保持长连接
< ETag: "5f265bc0-a" # ETag是一个可以与Web资源关联的记号(token)
< Accept-Ranges: bytes # 表示该服务器可以接受范围请求
< # 空行
10.0.0.65 # 6. 响应内容
* Connection #0 to host www.a.com left intact # 标记处理完成