网络面试:URL的组成以及输入URL后的全过程,用到的协议

URL的组成

以http://www.helloworld.com:80/hello/world为例:
使用的应用层协议:http
服务器:www
域名:helloworld.com
端口:80
访问的具体目录下的文件:hello/world

输入URL回车后的过程

1. 对域名进行解析
对域名进行解析即把域名转换为对应的IP地址的过程,主要使用DNS协议
1)浏览器查看自己的DNS缓存,看是否能找到与域名相对应的IP地址,如果没找到,则进行2)
2)查看操作系统的DNS缓存,如果还是没找到,进行3)
3)访问本地域名服务器,若无,进行4)
需要注意的是,1-3过程是递归查询过程,意思是浏览器找操作系统,操作系统找本地域名服务器,依次递归下去,而不是浏览器找完操作系统后,再自己去找本地域名服务器,流程图为:
浏览器->操作系统->本地域名服务器
4)本地域名服务器向根域名服务器发起DNS请求,若无,则5)
5)本地域名服务器向com域的顶级域名服务器发起DNS请求,若无,则6)
6)本地域名服务器向权限域名服务器发起DNS请求,得到IP地址
4-6过程为迭代过程,意思是本地域名服务器找根域名服务器,根域名服务器说我没有,你去找com域的顶级域名服务器吧,我不帮你找,然后本地域名服务器自己去找com域的顶级域名服务器……流程图为:
本地域名服务器->根域名服务器
本地域名服务器->com域的顶级域名服务器
本地域名服务器->权限域名服务器
经过以上某些步骤之后,浏览器便可得到域名对应的IP地址

2. 浏览器封装HTTP报文,向服务器发起HTTP请求,请求方式可能为POST,可能为GET,这个过程使用的是HTTP协议

3. HTTP报文封装并到达传输层后,开始进行TCP三次握手建立端口之间的连接,如8080端口,这个过程使用的是TCP协议

4.运输层的报文段到达网络层之后,网络层使用IP协议进行封装,并使用RIP,OSPF等路由协议进行路径选择,选择好路径之后,放到数据链路层在具体的链路上进行传输

5. 服务器收到请求之后,同样将返回的数据按以上方式返回给客户端

6. TCP四次挥手断开连接

7. 浏览器解析返回的数据并展示到网页上

觉得有问题的地方欢迎在评论区指出呀,觉得不错不妨点个赞…本人正在准备春招,因此近期会写不少面试题总结,有一起的可以互相关注,一起加油~

发布了22 篇原创文章 · 获赞 17 · 访问量 8895

猜你喜欢

转载自blog.csdn.net/Sun_Dean/article/details/104107422