输入url到显示的过程

2 阅读1分钟
  1. URL输入与解析

    浏览器判断输入的是否是合法url,如果不是合法url会进行默认搜索

    判断是否为合法url: 有合法协议头(如http://,https://,about:等)直接视为合法url=>没有协议头尝试解析为域名或IP(包含.,不全为数字是域名,全为数字是IP,不能包含空格,特殊字符(连字符除外))

    如果是url会进行url解析,提取协议,域名,端口,查询参数等

  2. DNS解析

    缓存查找: 在主机,路由器中的缓存中查找

    递归查找: 缓存查找找不到则向主机配置的本地DNS服务器发请求,本地DNS则依次向根域名,顶级域名,二级域名服务器发出请求依次查找直到找到目标服务器的IP

  3. TCP连接

    TCP三次握手: SYN=>SYN+ACK=>ACK

    TLS握手(HTTPS有这个): 客户端发送支持的密码套件和客户端随机数A=>服务端发送数字证书(包含公钥),选择的密码套件和服务端随机数B=>客户端认证数字证书,生成一段随机数作为预主密钥用公钥加密发送=>服务端用私钥解密,服务端和客户端都用相同的算法对(预主密钥,A,B)进行加密得到密钥

  4. 服务器处理并返回响应

  5. 浏览器接收并渲染