当你在浏览器中输入网址,到看到网页,发生了什么
这是一道经典的面试题,不光是前端面试会问到,后端也会,此题没有标准的答案,但在你了解的范围内,当然是答得越详细越好,这里就简单记录下几个关键流程吧。
当你在浏览器中输入http://www.xujimmy.com/about时,至少会经过以下几个步骤:
- 浏览器从url中解析出主机名,如这里的就是
www.xujimmy.com
- DNS解析主机对应的IP,就是解析
www.xujimmy.com
对应的IP地址,如果本地hosts文件中,有主机名和ip的映射关系,就直接用这个ip,完成解析,如果没有,则查找本地DNS解析器缓存,如果最近没有对该主机进行访问,那么浏览器就得去DNS解析服务器去找IP,然后缓存起来,可能会花费数秒时间 - 根据IP和端口,与服务器建立TCP连接(三次握手)
- 一旦连接建立,浏览器就通过该连接来发送HTTP请求
- 服务器处理请求,并返回HTTP响应包
- 浏览器接收到来自服务器的响应后,开始解析渲染包中的主体,组织成页面
- 连接结束
- 原文作者:JimmyXu
- 原文链接:http://xujimmy.com/2017/09/10/http.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。