浏览器中输入一个URL后,按下回车后发生了什么
URL
,统一资源定位符,
简单点就是网址
=ip
或域名
+
端口号
+
资源位置
+
参数
+
锚点
大致流程
- URL 解析
- DNS 查询
- TCP 连接
- 处理请求
- 接受响应
- 渲染页面
1 .输入一个网址之后,首先浏览器通过查询 DNS ,查找这个 URL 的 IP 地址,(通过层层向上级 DNS 服务器查找直到找到对应URL 的 IP 地址)2 .得到目标服务器的 IP 地址及端口号( http 80 端口, https 443 端口),会调用系统库函数 socket, 请求一个TCP 流套接字。客户端向服务器发送 HTTP 请求报文( 1 )应用层:客户端发送 HTTP 请求报文。( 2 )传输层:(加入源端口、目的端口)建立连接。实际发送数据之前,三次握手客户端和服务器建 立起一个TCP 连接。( 3 )网络层:(加入 IP 头)路由寻址。( 4 )数据链路层:(加入 frame头)传输数据。Cookies如果是首次访问,会提示服务器建立用户缓存信息,( 5 )物理层:物理传输 bit 。3 .服务器端经过物理层 → 数据链路层 → 网络层 → 传输层 → 应用层,解析请求报文,发送 HTTP 响应报文。4 .关闭连接, TCP 四次挥手。5 .客户端解析 HTTP 响应报文,浏览器开始显示 HTML