c++ 以ie浏览器打开网页_经典面试题-从浏览器地址栏输入网址,到网页打开,详细解释。...

本文详细介绍了从浏览器输入URL到网页打开的过程,包括URL解析、DNS解析、网络传输和页面渲染。在DNS解析中,涉及缓存、根域名服务商和CDN原理。网络传输时,讲解了TCP三次握手建立连接,HTTP协议交互,以及TCP四次挥手断开连接。最后,阐述了页面渲染的DOM树、CSSOM和渲染树构建。对于用户反馈的网页卡顿、弹窗广告问题,也提出了分析和响应思路。
摘要由CSDN通过智能技术生成

7ee437cdcf53a7ec4dd77485a40b4ec1.png

记录一次笔记:有点潦草。

基本概念:

1: 理解上网概念以及背后的流程是怎么样的。
2: 客户端 ------- 网络传输层 ------------ 服务端 上网的三大区块。

过程解析:

一:客户端

1:: 浏览器本地解析url(url -- 统一资源定位符。用于互联网上不同资源的标示),

http: // http://baidu.com :8080

协议 域名 端口

(可发生劫持以及绑架,俗称浏览器钩子 )。

(解析富文本)

2:先浏览器缓存查找对应ip。

3::本地host文件查找对应ip。(各种木马以及病毒修改发生劫持流量)。

4:本地路由器dns查看对应ip。

(TCP/IP只能识别ip地址,ip通过arp获得mac地址)

二:dns解析

1:发送到服务商dns服务器.

2:服务商dns检查缓存,不存在或者过期 则到根域名服务商,根域名服务商也是先检查缓存,若无,则检查域名为哪个dns服务商负责解析。然后请求转发。获得域名对应ip。

3:ip返回到本地服务商的dns,本地服务商dns更新缓存。ip返回客户端。

(本地dns服务商易劫持域名,比如:ie地址栏输错,劫持到本地电信搜索页)

补充:cdn原理以及机制。

三:网络传输

1:客户端获得ip后(路由寻址找到服务器),通过三次握手(客户端和服务器一共发送三个包,同步连接双方的序列号和确认号并交换 TCP) 建立tcp连接。与目标服务器建立短连接,

通过规定的协议(http)。

前端发送报文,后台报文处理,返回应答报文,解析成网页。

(四次挥手拆除tcp连接,需要发送4个包。客户端或服务器均可主动发起挥手动作)

2:客户端发送请求,

(补充 分布式,数据库,负载均衡,轮询。等)

3:客户端获取返回数据(css,image,js等)

(ARP欺骗,子网被劫持被篡改风险。)

四:页面渲染

1:浏览器会将返回的HTML通过深度遍历解析成一个DOM树。

2:将CSS解析成 CSS Rule Tree 。

3:根据DOM树和CSSOM来构造 Rendering Tree。

(CSSOM是一个建立在web页面上的 CSS 样式的映射,它和DOM类似,但是只针对CSS而不是HTML)

最后通过Rendering Tree,浏览器就可以知道每个节点和各节点css的关系,再算出每个节点在屏幕的位置就可以绘制出每个节点了。

上述渲染过程为从上而下,逐步完成。即浏览器绘制了一部分就会显示一部分出来,再继续计算下面的部分。

最后思考:

1:用户反馈。网页/游戏很卡,很慢,怎么分析,怎么响应?

2:用户反馈,打开网站弹出小广告和杀毒软件报的木马,怎么分析,响应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值