有关 Internet
Internet 是如何工作的
互联网将全球的计算机联系起来,用一套标准的通信协议
TCP/IP
进行通信。互联网的连接方式:
计算机
连接到路由器
使用调制解调器
使得能够通过电话设施与互联网服务运营商(lsp)
连接,得以将所有的计算机连接至互联网。域名与 IP 地址的映射:
DNS(域名系统)
(一个分布式数据库来完成二者之间的映射)。域名与 IP 地址的关系:多个域名可以映射到同一个 IP 地址,但是一个域名理论上不能解析到多个 IP 地址。
有关域名
我们无法实际的拥有一个域名,只能通过购买域名来获得一个域名的一段时间的使用权。
一个域名由两个或两个以上的标签组成,每个标签由一系列的字符组成,每个标签之间用
.
分隔。域名的阅读方向是从右往左,最右边为
顶级域名
。它左边为二级域名
,依次类推。域名的查询过程有两种:
迭代查询
和递归查询
。
此处简略地描述部分 Internet 相关知识作为前端学习的铺垫,若要深入了解计算机网络的相关知识可以移步 Jetzihan 博客。
HTTP 是什么
HTTP
是一种能够获取网络资源的通信协议:超文本传输协议
,是在 web 中进行数据交换的基础,是一种client-server
协议。HTTP
协议遵从客户端-服务器模式
,客户端发出请求直到收到服务端的相应。HTTP
是一种无状态协议,接收端将不会保存会话状态,单独处理每一个发送方的独立请求。这意味着可以通过 HTTP 发起DDos 攻击,大量的 HTTP 请求可以被用于攻击某一目标设备,这被视为是应用层攻击的一部分。
简单了解 web 浏览器如何工作
web 浏览器有何功能?
直观上,输入一个网址,浏览器将向服务器请求该 web 资源,并且将得到的资源显示在浏览器的图形界面上。这里提到的资源可以是 HTML 文档、pdf、图像等等内容,这些内容用统一的URI
(统一资源标志符)指定。
URI 是统一资源标志符
,这是一种语义上的抽象概念,为的是将每一种资源如 HTML 文档、图像、视频等进行唯一性标识。不严谨的比喻 URI 是每一种资源的身份证。
URL 是统一资源定位符
,是一种具体的资源定位方式,是 URI 的子集,用于描述如何定位某一种资源。相比于 URI,URL 不仅仅是一个身份证,还包含了定位的具体信息,比如说在哪个城市的哪个街道的哪个门牌号。
当浏览器得到服务器的资源后,浏览器会根据资源的类型进行相应的处理,比如说对于 HTML 文档
,浏览器会解析 HTML 文档
,然后将其渲染成图形界面,而对于图像
,浏览器会将其显示在图形界面上。
浏览器解释和渲染 HTML 文档
的方式由 HTML和CSS规范
所规定,这些规范由W3C组织
(万维网联盟)进行维护。
web 浏览器的结构
用户界面
:包括地址栏,书签菜单,前进/后退按钮,以及主窗口用于显示请求的页面。浏览器引擎
:用于用户界面和渲染引擎之间的调度和指令传送。渲染引擎
:用于显示请求的内容,比如 HTML 文档,图像,pdf 等等。对于 HTML 文档,它负责解析 HTML 和 CSS 内容。若是 pdf 等其他格式的文档,则会使用其他插件来显示。网络
:用于网络调用,比如 HTTP 请求。UI后端
:用于绘制基本的窗口小部件,比如组合框和窗口。其使用操作系统的用户界面方法。JavaScript解释器
:用于解析和执行 JavaScript 代码。数据存储
:浏览器需要在硬盘上保存各种数据,比如 Cookie。
(图片来源)
渲染引擎的基本流程
- 渲染引擎将
HTML页面
以块的形式进行解析,包括CSS文件
和样式元素,然后将解析后的结果转换为DOM树
。
DOM 是文档对象模型
,是一种用于描述 HTML 和 XML 文档的编程接口。DOM 将文档呈现为节点和对象的层次结构,DOM 的节点可以被修改,从而改变文档的结构、样式和内容。
同时将创建一个
渲染树
,其中包含了样式信息和元素显示的顺序,保证了元素是按所需顺序显示。在创建
渲染树
时,不会直接指定位置,指定位置和计算大小的过程被称作是布局过程,在这个过程中将会给节点分配确切的坐标。最后将
渲染树
绘制到屏幕上。遍历渲染树
,将节点使用 ui 后端层绘制到屏幕上。
每个浏览器都有自己的渲染引擎,这导致开发者在网站在进行适配时可能会遇到一些问题。
有关 hosting
hosting 是指将网站的文件放在服务器上,使得网站可以被访问。hosting 服务商提供了服务器,以及服务器的管理,比如安全,备份,性能等等。
可用的 hosting 服务商有很多,托管可以使用
github
、gitlab
、gitee
、阿里云
、腾讯云
等等。