![7ee437cdcf53a7ec4dd77485a40b4ec1.png](https://i-blog.csdnimg.cn/blog_migrate/58f18d194e9db5adf1bfd65a16cbe839.jpeg)
记录一次笔记:有点潦草。
基本概念:
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:用户反馈,打开网站弹出小广告和杀毒软件报的木马,怎么分析,响应。