关闭

输入url到页面返回的全过程

3453人阅读 评论(0) 收藏 举报
分类:

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

3
0
查看评论

URL 加载到页面的完整过程

(本图为:URL 加载到页面的完整过程)   今天小编带来这篇文章主要关于“从输入 URL 到页面加载完的过程中都发生了什么事情”这个主题来进行探讨下。   一个HTTP请求的过程   为了简化我们先从一个HTTP请求开始,简要介绍一下一个HTTP...
  • zhuoxun123456
  • zhuoxun123456
  • 2015-01-04 14:29
  • 528

从输入url到页面加载完的过程中都发生了什么事情

http://blog.aijc.net/server/2015/11/03/%E4%BB%8E%E8%BE%93%E5%85%A5URL%E5%88%B0%E9%A1%B5%E9%9D%A2%E5%8A%A0%E8%BD%BD%E5%AE%8C%E7%9A%84%E8%BF%87%E7%A8%8B...
  • dojiangv
  • dojiangv
  • 2016-07-01 01:00
  • 4878

输入一个URL到页面呈现其中发生的过程-------http过程详解

在我们点击一个网址,到它能够呈现在浏览器中,展示在我们面前,这个过程中,电脑里,网络上,究竟发生了什么事情。 服务器启动监听模式 那我们就开始了,故事其实并不是从在浏览器的地址栏输入一个网址,或者我们抓着鼠标点击一个链接开始,事情的开端要追溯到服务器启动监听服务的时候,在某个未知的时刻,一台机房里普...
  • heshan1992
  • heshan1992
  • 2017-08-18 09:44
  • 431

一次完整的HTTP过程请求步骤(输入一个URL回车,到返回页面)

一次完整的HTTP请求所经历的7个步骤 HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Inter...
  • seebetpro
  • seebetpro
  • 2016-05-05 21:13
  • 4199

从输入url到获取页面的完整过程

1.查询DNS(域名解析),获取域名对应的IP地址 查询浏览器缓存(浏览器会缓存之前拿到的DNS 2-30分钟时间),如果没有找到,检查系统缓存,检查hosts文件,这个文件保存了一些以前访问过的网站的域名和IP的数据。它就像是一个本地的数据库。如果找到就可以直接获取目标主机的IP地址了。没有...
  • samjustin1
  • samjustin1
  • 2016-09-24 14:41
  • 1200

浏览器中输入URL到返回页面的全过程

在浏览器输入:http://www.baidu.com/,最后,浏览器呈现出相应网页,这个过程究竟发生了什么? 第一步,解析域名,找到主机IP (1)浏览器会缓存DNS一段时间,一般2-30分钟不等。如果有缓存,直接返回IP,否则下一步。 (2)缓存中无法找到IP,浏览器会...
  • qq991029781
  • qq991029781
  • 2016-03-20 20:34
  • 2526

在浏览器地址栏输入一个URL后回车,执行的全部过程

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1. 首先嘛,你得在浏览器里输入要网址: &amp...
  • ywcpig
  • ywcpig
  • 2016-09-13 15:32
  • 3217

从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)

最近看到一个题目,是当在浏览器中输入一个url后回车,后台发生了什么?比如输入url后,你看到了百度的首页,那么这一切是如何发生的呢? 这个问题之前、最近、我想以后肯定还会被问到,或者问到这样的题目,如果在百度框里输入查询的字符串开始,是怎么返回你需要的东西呢。 那这什么个过程呢?
  • wdzxl198
  • wdzxl198
  • 2013-09-06 23:04
  • 38339

html中快速返回上一个页面,后退一步!

html中快速返回上一个页面,后退一步!下面一句话就搞定了!<a href="javascript:history.go(-1);">返回上一页</a>
  • zhezhebie
  • zhezhebie
  • 2017-02-07 17:43
  • 5194

URL访问网站的网络传输全过程

详细说明URL访问网站时域名解析、TCP三次握手、HTTP传输数据、TCP四次挥手的全过程
  • Cloudox_
  • Cloudox_
  • 2017-04-08 18:11
  • 3201
    个人资料
    • 访问:313239次
    • 积分:4635
    • 等级:
    • 排名:第7503名
    • 原创:146篇
    • 转载:0篇
    • 译文:0篇
    • 评论:86条
    博客专栏