网站的访问过程
- 在浏览器中输入url
- url通过DNS解析出IP
- 查找IP首先从 本地的hosts文件开始,如果找不到,则去DNS服务器查找
- 找到后,浏览器先发送一个测试的请求,通过之后发送正式的请求
- 服务器接收到正式的请求之后,它还需要验证。如果验证通过,则去帮我们找到想要的文件
- 服务器开始处理我们想要的文件,可能需要从数据库中获取
- 当服务器将文件处理完毕后通过http协议还给浏览器,此时浏览器就用自己的渲染引擎来进行渲染展示
网站访问流程图:
一、在浏览器中输入www.baidu.com后执行的全部过程:ARP——>DNS——>TCP
- 客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
- 在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
- 客户端的网络层不用关心应用层或传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不做过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
- 客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。