Water2Wine

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
1. DNS解析过程

浏览器向DNS服务器发起请求,分为递归查询和迭代查询两种方式依次请求根域名服务器,顶级域名服务器和权威域名服务器

为了让DNS解析更加精确,客户端还需要在请求包里带上自己的源IP地址。

2. HTTP请求过程

在上一步我们通过 DNS 解析拿到服务器 IP 地址后,浏览器再通过系统调用 Socket 接口与服务器 443 端口进行通信,整个过程可以分解为建立连接、发送 HTTP 请求、返回 HTTP 响应、维持连接、释放连接五个部分。

1、建立连接:在连接建立之前,服务器必须做好接受连接的准备,通过调用 socket、bind、listen 和 accept 四个函数来完成绑定公网 IP、监听 443 端口和接受请求的任务 -> TCP三次握手 -> TLS四次握手

2、发送HTTP请求

3、返回HTTP响应

4、维持连接:HTTP不同版本协议不同,有些是默认长连接的,也可以通过keepalive和心跳包机制来保活

5、断开连接:服务器向客户端发送Alert报文 -> 四次挥手

posted on 2020-08-14 15:41  Water2Wine  阅读(292)  评论(0编辑  收藏  举报