从输入URL到页面加载完成的过程中都发生了什么事情?--这是一个经典的面试题;
主要是关于计算机网络方面的知识基础,对于非科班计算机自学web开发的同学可能理解起来就很困难。
StackOverFlow上有一个简要回答:
http://stackoverflow.com/questions/2092527/what-happens-when-you-type-in-a-url-in-browser
主要要掌握计算机与网络设备之间通信
Web使用一种HTTP(HyperText TransFer Protocol,超文本协议)的协议作为规范,完成从客户端到服务器等一系列运作流程。可见web是建立在HTTP协议上通信的。
通常我们使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。
计算机与网络设备之间通信的协议总称为TCP/IP.该协议最重要的一点就是分层。
利用TCP/IP协议族进行通信时,会通过分层顺序与对方进行通信。
与HTTP关系紧密的协议有:
DNS:负责域名解析
TCP:确保可靠性,会数据分割
IP:负责传输
传输过程图如下:
深入理解整个计算机体系和硬件的话,FEX团队的nwind专门有对该问题的文章:
http://fex.baidu.com/blog/2014/05/what-happen/
该回答真的非常有深度和广度。值得学习。