从输入URL到浏览器显示页面到底经历了什么?

从输入URL到浏览器显示页面到底经历了什么?

很多公司面试都喜欢问这个问题:从输入URL到看见页面发生了什么?今天就来做个总结。
简单来说,共有以下几个过程:

  • DNS解析
  • 建立TCP连接,进行三次握手
  • 发送HTTP请求
  • 服务器处理请求并返回HTTP报文
  • 浏览器解析并渲染页面
  • 释放TCP连接,进行四次挥手

DNS解析

我们知道用户想与因特网上某个主机通信时,必须要知道对方的IP地址。而DNS解析就是将域名解析为IP地址的过程。

1、DNS解析过程

DNS解析过程
(1)主机www.google.com先向其本地域名服务器10.1.1.1进行递归查询。
(2)本地域名服务器采用迭代查询。直到查到所查询主机的IP地址。
(3)本地域名服务器最后把结果告诉主机www.google.com。

2、DNS优化

很多时候我们不断的访问一个域名,并不需要每次都经过如此繁琐的查询,而是通过高速缓存提高查询效率。
高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
(1)主机向本地域名服务器查询IP地址,若本地域名服务器缓存中有该主机对映的IP地址,便直接返回。
(2)若本地域名服务器没有缓存该主机对映的IP地址,而缓存了顶级域名服务器的IP地址,则可以直接向顶级域名服务器查询。
(3)为保证高速缓存中的内容正确,域名服务器应为每项内容设置计时器并处理超过合理时间的项。

建立TCP连接

1、什么是TCP?

TCP是一种面向连接的协议,并提供一种可靠的传输。TCP连接有三个阶段,即:连接建立数据传输连接释放
在TCP连接建立过程中要解决以下三个问题:
(1)要使每一方能够确知对方的存在。
(2)要允许双方协商一些参数(如最大窗口值等)
(3)能够对运输实体资源(如缓存大小等)进行分配。
TCP连接的建立采用客户服务器方式。主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器

2、TCP的连接建立——三次握手

SYN:同步位,ACK:确认位

客户端 服务器端 CLOSED
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值