在浏览器地址栏敲下www.xx.com 这段时间发生了什么?

曾经在一家公司面试的时候,面试官管问了我一个问题:“在浏览器地址栏敲下www.xx.com 这段时间发生了什么?”面试

  当听到这个问题的时候,我脑壳就蒙了,虽然知道就是请求与响应,可是要说个1234出来还真不行,最后只说了就是请求与响应什么的,万幸的是面试经过了。后端

  虽然面试经过了,可是问题仍是要解决的,我翻了点资料最后总结以下:浏览器

  当输入域名并敲击回车的时候。缓存

  1.浏览器开始搜索自身的DNS缓存。服务器

  2.若是浏览器没有缓存,或者缓存已经失效,搜索操做系统自身的缓存。操作系统

  3.若是操做系统自身的缓存失效,读取本地的HOST文件。图片

  4.浏览器发起DNS的系统调用,发起一个域名解析请求,通常是运营商的DNS服务器。资源

  5.宽带运营商的DNS服务器会查找自身的缓存路由

  6.运营商的服务器发起一个迭代的DNS请求,它首先会找根域的DNS IP地址,而后返回com域IP地址,而后运营商服务器向com域服务器发起请求,返回xx.com域的IP地址,而后再次发起请求(这里通常指的是域名注册商,像万网之类的),找到结果将地址发给运营商的服务器。运营商服务器把结果返回给操做系统内核,并将域名缓存起来,操做系统内核将结果返回给浏览器,浏览器获取到了xx.com的IP地址。文档

  7.浏览器获取到域名对应的IP地址后,发起HTTP“三次握手”。浏览器用随机端口想IP地址服务器发起TCP链接请求。通过层层的路由以及网卡、防火墙,最终到达WEB服务端。

  8.TCP/IP链接创建起来之后,浏览器向服务器发生HTTP请求。

  9.服务器端收到这个请求,根据路径参数通过后端的一些处理以后,吧结果返回给浏览器。

  10.浏览器获取结果(JS/CSS/图片资源,都要结果上面的步骤进行HTTP请求),开始下载HTML文档 > HTML解析 > 加载DOM树 > 生成Render树 > 逐级解析DOM树从根标签开始(通常指HTML表签/元素),最终将渲染后的页面展现给用户。

相关文章
相关标签/搜索