0

    【技术干货】浏览器工作原理和常见WEB攻击 (上)

    2023.04.24 | admin | 244次围观

    陈 昂

    浏览器工作原理

    当你打开一个个设计漂亮、简洁大方的网页,有没有想过浏览器是如何展现这么一个网页的呢。当你在这些网页上输入你的淘宝账号登录购买东西的时候,有没有想过,你的账号密码、身份证号、手机号、真实姓名,这些信息会不会泄露,被黑客利用呢?在了解网络安全方面的知识之前我们先简单了解下浏览器的工作原理,以辅助我们更好的理解网络安全知识。

    浏览器分类

    现代浏览器从内核上来说,主要分为以下6大类:

    Trident内核,代表是IE

    EDGE内核,代表是微软的Edge浏览器

    Gecko内核,代表是Firefox

    WebKit内核,代表是Safari和Chrome

    Blink内核,代表是最新的Chrome

    Presto内核,代表是Opera

    其中Trident、Gecko、Webkit、Presto已在市场存在多年。但是浏览器技术发展很是迅猛。随着微软最新浏览器Edge的诞生,采用Trident内核被诟病多年的IE浏览器终于要逐渐退出浏览器舞台了。而Blink是Google Chrome浏览器采用的新内核,由此,Google似乎也要和Webkit阵营分道扬镳,Opera也宣称要紧抱Blink的大腿,一场看不见硝烟的战争似乎又在酝酿。不过这里不再过多讨论。有兴趣的朋友可以关注下浏览器内核发展的最新动向。但不论浏览器怎么发展变化,浏览器的组成和浏览器加载网页的原理都是大同小异,不会有太大变化的。下图是浏览器的主要组成模块:

    图 1浏览器组成模块

    浏览器加载顺序

    当我们在浏览器地址栏输入一个网址(比如:), 点击回车后,浏览器是如何加载网页的呢?

    首先,点击回车后,浏览器是无法识别cloudcare.cn是什么的,它也不知道你要访问的cloudcare.cn这个网站放在哪里。这个时候,就需要有人告诉浏览器浏览器工作原理是怎样的,你应该去哪台服务器访问这个网站。这个“人”就是DNS(Domain Name System,域名系统),我们从图中看下DNS工作原理。

    假如本地配置的DNS服务地址是223.5.5.5

    大致步骤是这样的:

    浏览器发送cloudcare.cn寻址请求给DNS服务器

    DNS服务返回数据告诉本地电脑cloudcare.cn的服务器地址是10.0.0.1

    本地电脑缓存DNS数据,并发送cloudcare.cn访问请求给10.0.0.1这个服务器

    服务器和本地电脑建立TCP连接,进行数据交互

    注:关于DNS缓存和路由寻址浏览器工作原理是怎样的,大家有兴趣可以Google

    当TCP连接建立后,就可以进行数据传输了。而数据的传输是要满足HTTP协议的(分为1.0和1.1两个版本),包含有连接、消息、请求、响应等一系列规定。

    一个页面的加载少则数个HTTP请求,多则几十个甚至上百个HTTP请求。一个HTTP的请求头大概是这个样子的:

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论