相信很多前端程序员在面试的时候都遇到过这个问题,第一次遇到这个问题的时候我是懵的,毫无准备的我乱说了一通,自然面试也凉了,最近对这一块学习了一遍,在此做个记录~
整体流程:
1,如果URL包含域名,浏览器先连接到DNS(域名服务器),找到域名对应的IP地址。
2,web浏览器连接到对应web服务器,发出http请求,要想要的内容(TCP三次握手)。
3,web服务器检查请求资源是否存在,存在则返回,不存在则返回404。
4,web浏览器收到资源并关闭连接。
5,浏览器解析整个页面,并检查所需的其他资源,比如图片。
6,继续发出http请求,请求对应资源。
7,请求完所有资源,页面就展示完全了。
重点内容
DNS:Domain Name Service 域名服务,将域名解析为ip,这一过程会涉及到CDN,后续再详细学习CDN。
TCP/IP协议整体流程:
应用层:特定于应用程序的协议,如WWW、电子邮件、FTP等。
TCP传输控制层:Transmission Control Protocol 传输控制层协议,TCP是一种面向连接,可靠的字节流传输服务。TCP使用端口号将数据包定向到计算机上的特定应用程序。
IP网络层:Internet Protocol 网路层协议,IP是一种不可靠的,无连接的协议。IP将数据包通过IP地址传输到指定计算机。
硬件层:将二进制数据转换成光电信号 。