简单来说分为以下几步:
-
URL解析:浏览器首先解析用户输入的URL,识别协议(通常是HTTP或HTTPS)、域名、路径和查询参数等组成部分,判断是否为合法的url格式,不合法则在搜索引擎中搜索。
-
DNS查询:浏览器首先需要将你输入的域名转换为IP地址。它会先查询本地hosts文件,如果没有,再询问公共DNS服务器来获取该域名对应的IP地址(进入一些中大厂时第一天可能需要配本地hosts文件)
-
建立TCP连接:一旦有了目标服务器的IP地址,浏览器会尝试与该服务器建立TCP连接。通常这是通过三次握手完成的,在HTTP/2或HTTP/3中可能会使用更快的连接方式,例如0-RTT或QUIC协议。
-
发送HTTP请求:TCP连接建立成功后,浏览器会向服务器发送一个HTTP请求。这个请求包含了请求的方法(GET、POST等)、URL、HTTP版本以及各种头信息(如User-Agent、Accept-Language等)
-
响应请求:当服务器准备好响应时,它会将响应连同状态码(比如200表示成功,404表示未找到)一起返回给浏览器。
-
页面渲染