网络经典面试题

问题:

请说明在浏览器中输入 url 后到展示出页面这个过程发生的事情。


1.先进行 DNS 域名解析,将 IP 地址解析出来。

DNS 域名解析的大致流程:
1.1 先检查浏览器中的 DNS 缓存,如果浏览器中有记录直接使用,并完成解析;
1.2 如果浏览器中没有缓存,那就检查操作系统的缓存;
1.3 如果操作系统没有 DNS 缓存,去看本地 host 文件;
1.4 如果本地 host 文件没有记录,就请求本地DNS服务器,本地服务器一般是由本地网络服务商提供如移动、电信。也可通过 DHCP 自动分配,也可以手动配置。目前用的最多的是谷歌提供的8.8.8.8和国内公用的 DNS 114.114.114.114。
1.5 如果本地还没有就要去根域名服务器查询。

2.封装 HTTP 请求数据包。
3.封装 TCP 请求数据包。
4.建立TCP 连接,也就是三次握手。
三次握手图:
在这里插入图片描述

5.从客户端传递参数到服务器端。
6.服务器端程序接收到参数,对消息进行解析,通过 request 对象获取参数对参数的正确性和非空性进行效验才会调用数据库执行业务处理和查询。查询之后得到结果,将结果封装成 HTTP 包发送给客户端。
7.前面有 TCP 连接自然就有 TCP 断开,客户端没有数据发送时就需要断开连接,以释放服务器资源。TCP 断开也叫 TCP 四次挥手。
四次挥手图:
在这里插入图片描述

8.客户端会得到服务器端的响应结果,浏览器会使用自己的引擎进行浏览器渲染,解析 html 源码并最终将页面展示给用户。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值