URL解析:浏览器首先对输入的URL进行解析,提取出协议(如HTTP或HTTPS)、域名、端口(如果有)、路径和查询参数等信息
DNS解析:浏览器将域名转换为对应的IP地址。这个过程通过DNS解析实现,浏览器会先在本地DNS缓存中查找,如果找不到,则会向DNS服务器发送请求,获取域名的IP地址
建立TCP连接:通过DNS解析获得服务器的IP地址后,浏览器与服务器建立TCP连接。如果是HTTPS请求,还需要进行TLS/SSL握手过程以建立安全的加密连接
发送HTTP请求:浏览器通过TCP连接向服务器发送HTTP请求。请求包含请求行(指定方法、资源路径和HTTP版本)、请求头(如用户代理、接受类型等)以及可能的请求体(对于POST请求)
服务器处理请求:服务器接收到请求后,进行相应的处理,可能涉及数据库查询、文件读取等操作。处理完成后,服务器返回HTTP响应,包含状态码(如200表示成功,404表示未找到资源)、响应头和响应体
浏览器解析渲染页面:浏览器接收到响应后,解析HTML、CSS、JavaScript等资源,构建DOM树、解析CSS样式、执行JavaScript代码,最终渲染页面并显示给用户
断开TCP连接:当所有资源加载和渲染完毕后,浏览器断开与服务器的TCP连接。如果是持久连接(HTTP Keep-Alive),连接可能会被保持以便重用于后续请求