在比较全面的学习了计算机网络之后,我们可以来谈一谈生活中经常遇到的一个比较经典的问题,就是描述一下从输入url到页面返回的全过程。

1.      我们输入一个域名:www.baidu.com,然后点击确认;

2.      浏览器查找域名的IP地址。查找过程如下:

首先是浏览器缓存,浏览器会缓存DNS记录一段时间;

如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用,获取系统缓存中的记录;

然后是路由器缓存,路由器一般会有自己的缓存;

如果前者都没有找到,就需要从本地域名服务器开始进行DNS查询了。详细的DNS查询过程我在DNS工作原理及过程中讲到过。

3.      现在浏览器找到了域名的IP地址,则需要向Web服务器建立TCP连接,然后发送HTTP请求了。TCP连接过程我在TCP中讲到过,具体的请求过程我在HTTP中讲到过。

好吧,我们结合DNS、TCP和HTTP来详细地说一下输入url到页面返回的全过程吧。

1.      我们输入一个域名:www.baidu.com

2.      浏览器查找浏览器缓存,如果有域名的IP地址则返回,如果没有继续查找;

3.      系统查找系统缓存,如果有域名的IP地址则返回,如果没有继续查找;

4.      路由器查找路由器缓存,如果有域名的IP地址则返回,如果没有继续查找;

5.      本地域名服务器采用迭代查询,它先向一个根域名服务器查询;

6.      根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址;

7.      本地域名服务器向顶级域名服务器dns.com进行查询;

8.      顶级域名服务器dns.com告诉本地域名服务器,下一次应查询的权限域名服务器dns.baidu.com的IP地址;

9.      本地域名服务器向权限域名服务器dns.baidu.com进行查询;

10.  权限域名服务器dns.baidu.com告诉本地域名服务器,所查询的主机www.baidu.com的IP地址;

11.  本地域名服务器最后把查询结果告诉主机;

12.  主机浏览器获取到Web服务器的IP地址后,与服务器建立TCP连接;

13.  浏览器所在的客户机向服务器发出连接请求报文;

14.  服务器接收报文后,同意建立连接,向客户机发出确认报文;

15.  客户机接收到确认报文后,再次向服务器发出报文,确认已接收到确认报文;

16.  此处客户机与服务器之间的TCP连接建立完成,开始通信;

17.  浏览器发出取文件命令:GET;

18.  服务器给出响应,将指定文件发送给浏览器;

19.  浏览器释放TCP连接;

20.  浏览器所在主机向服务器发出连接释放报文,然后停止发送数据;

21.  服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完;

22.  服务器数据传输完毕后,向客户机发送连接释放报文;

23.  客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接;

24.  浏览器显示页面中所有文本。

以上就是从输入url到页面返回的全部详细过程了。

参考:http://blog.csdn.net/mevicky/article/details/46789381

转载于:https://www.cnblogs.com/slhs/p/7718945.html

从输入URL到页面展现的全过程相关推荐

  1. 一文通透从输入URL到页面渲染的全过程----高频面试

    一文通透从输入URL到页面渲染的全过程----高频面试 喜欢大海 喜欢夕阳 写下便是永恒 文章目录 一文通透从输入URL到页面渲染的全过程----高频面试 重温 进程与线程 什么是进程 什么是线程 进 ...

  2. 从输入URL到页面展现到底发生了什么

    1. DNS域名解析:将域名解析成IP地址 2. TCP连接:三次握手 3. 向服务器发送请求 4. 服务器处理请求并返回报文 5. 浏览器解析渲染页面 6. 断开连接:四次挥手 #web ...

  3. 前端学习之浏览器从输入URL到页面加载的全过程

    浏览器从输入URL到页面加载的全过程 从输入URL到页面加载的主干流程如下: 1.浏览器的地址栏输入URL并按下回车. 2.浏览器查找当前URL的DNS缓存记录. 3.DNS解析URL对应的IP. 4 ...

  4. 从输入url到页面加载完成中间都发生了什么?

    从输入 URL 到页面加载完成的过程中都发生了什么事情? nwind | 24 May 2014 背景 本文来自于之前我发的一篇微博: 不过写这篇文章并不是为了帮大家准备面试,而是想借这道题来介绍计算 ...

  5. 前端面试总结(2)--从输入URL到页面加载完成,都发生了什么

    目录 序言 从输入URL到页面加载完成,都发生了什么 1. 一个极其粗糙且简化的流程 2. 每个步骤都只是摘要 2.1 浏览器中输入URL 2.1.1 URL的概念 2.1.2 浏览器对URL的长度限 ...

  6. 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3

    备注: 因为文章太长,所以将它分为三部分,本文是第三部分. 第一部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分:深入浅出经典面试题:从浏览器中输入URL ...

  7. 从输入 URL 到页面加载完的过程中都发生了什么事情 —— 网络优化篇

     转自从输入 URL 到页面加载完的过程中都发生了什么事情 -- 网络优化篇 想到这不就是我这两年来研究的东西么,于是就接受一下挑战.网上已经有很多版本的答案了.这道题可以从浏览器端,网络传输和服 ...

  8. 在浏览器里,从输入 URL 到页面展示,这中间发生了什么?-学习笔记

    参考来源:极客时间-李兵专栏 从图中可以看出,整个过程需要各个进程之间的配合,浏览器进程.渲染进程和网络进程的职责如下: 浏览器进程主要负责用户交互.子进程管理和文件储存等功能. 网络进程是面向渲染进 ...

  9. url上接收到 el表达式 不渲染_一文摸透从输入URL到页面渲染的过程

    一文摸透从输入URL到页面渲染的过程 从输入URL到页面渲染需要Chrome浏览器的多个进程配合,所以我们先来谈谈现阶段Chrome浏览器的多进程架构. 一.Chrome架构 目前Chrome采用的是 ...

  10. 浏览器从输入URL到页面渲染过程 ——页面渲染流程

    之前我有总结过一篇经典面试题:浏览器从输入URL到页面渲染过程 ,接下里我将对某些知识点进行更细致的解析. 浏览器从输入URL到页面渲染过程 系列文章: (一):浏览器从输入URL到页面渲染过程 -- ...

最新文章

  1. swift中单例的创建及销毁
  2. netcore开源框架_.NET Core开发精选文章目录,持续更新,欢迎投稿!
  3. 2022年中国足球球迷行为洞察白皮书
  4. 人工智障学习笔记——强化学习(4)时间差分方法
  5. Vue.js 3 Step 创建一个组件
  6. cad2010多个文件并排显示_飞利浦显示器推荐,提升你的工作效率与水平
  7. 解决js array的key不为数字时获取长度的问题
  8. ArcGIS的文件结构
  9. 神秘黑客攻陷密码管理器 Passwordstate 部署恶意软件,发动软件供应链攻击
  10. 今天我才明白了泛型,泛型类 泛型方法
  11. 人生果实 Life is fruity 缓慢而坚定地做自己能做的事情
  12. SAP中程序从服务器下载所对应的文件
  13. 关于POSTSQL 的语言编码问题!
  14. 初学爬虫-qq空间模拟登录
  15. itunes备份电脑C盘内存不够怎么办?
  16. linux输入法图标不见了,桌面上右下角的输入法图标不见了 怎么找回?
  17. 周鸿祎谈乔布斯(张亮)
  18. flash迷宫游戏教程
  19. 微信小程序页面跳转无效
  20. CP-ABE,KP-ABE

热门文章

  1. Android CheckBoxPreference设置默认值会触发持久化以及其内部实现逻辑
  2. 0.96OLED显示原理及FPGA驱动程序
  3. sht11的linux程序,SHT11温湿度传感器的proteus仿真与程序源码
  4. 计算机网络与通信之计算机网络体系结构
  5. 基于java jsp企业人事管理系统mysql
  6. php开发oa系统的插件下载不了,什么是oa系统软件
  7. 卓越的社会化营销人的6个习惯
  8. ie7/8卸载工具 降级到IE6
  9. 技术点:使用vue和element实现地图选点功能
  10. vue中使用kindeditor编辑器_vue集成kindeditor富文本