跳到主要内容

浏览器请求一个网页的流程

客户端

客户端通常指浏览器这类应用程序。根据架构的不同,客户端可以分为 C/S 架构和 B/S 架构。本节将客户端理解为浏览器。

服务端

服务端是数据文件的入口或出口,负责数据的管理和程序的运行。服务器通常指的是几 U 的机架式服务器,比较大型的服务器,安装 Linux 系统或其他服务器专用的操作系统。

简单流程

当客户端在浏览器中输入域名时,DNS 服务器将其解析为 IP 地址。随后,客户端与服务器建立 TCP/IP 三次握手,建立 TCP 连接并发起 HTTP 协议请求。服务器首先传输 HTML,浏览器解析这些 HTML,继续下载 HTML 中的静态资源,包括图片,然后渲染页面。最后,进行四次挥手终止连接请求。

URL、URN、URI

URI

统一资源标识符用于标识一个资源。

URL

统一资源定位符不仅用于标识一个资源,还指明了如何定位该资源。URL 通过地址定义一个资源。

URN

统一资源命名通过名称来标识资源,用名称定位一个资源。

三者之间的关系

URI

资源的标识的总称。

URL

URL 不仅是资源的标识,还具备定位资源的功能,并指明获取资源所采用的协议。

协议名称主机名称及端口号路径及文件参数其他内容
httpjsplusplus.com:80index/index.html?a=1&b=2#d
<scheme><host>:<port>/<path>?<query><frag>

URN

jsplusplus.com:80/index/index.html?a=1&b=2#d 表示一个资源的名称,通过该名称可以定位资源。

例子

寻找一个不认识的人,URL 可以比作家庭住址,而 URN 则类似于姓名和身份证号。

客户端与服务端

客户端包括 QQ、微信、LOL 以及网易云音乐等应用程序。服务端负责存储网页、数据库、数据处理程序等后端逻辑,并运行数据库的服务器。API 通过请求返回所需的数据,以微信小程序为例,URL 中包含的即为 API。

wx.request({
method: 'post',
url: 'http://shenqing.bjhjyd.edu.cn/acs//common/validCodeImage',
header: {
'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
},
});

C/S 与 B/S 架构

C/S 架构

在 C/S 架构中,应用程序安装在客户端电脑中,由服务端提供客户端程序所需的数据。此架构的优点包括界面与操作丰富、安全性高、响应速度快。然而,它通常用于局域网,需要安装特定应用程序和硬件,维护成本较高。

B/S 架构

B/S 架构利用 WEB 浏览器呈现客户端程序界面,由服务端提供所需的数据。其优点是无需安装客户端程序与特定硬件,支持多客户访问,交互性强,且无需升级客户端。但缺点包括跨浏览器兼容性差、功能相对有限、设计成本高、安全性较弱以及交互性相对较弱。

服务器的购买

以阿里云 ECS 为例

弹性计算服务

通过选择不同的配置,如镜像、带宽、网络类型、区域等,可以实例化出新的服务器。这一过程类似于创建新对象,通过设置构造函数中的参数来修改实例。弹性计算服务允许随时扩容,并按需进行配置购买。

创建快照

创建快照类似于在使用 VMware 时的快照功能。

块存储

块存储更适合存放结构化的数据。

块设备

块设备通常指以磁盘形式存在的存储设备。

块存储强调的是裸磁盘,所有以磁盘形式直接供给主机或服务器访问的存储都是块存储。

安全组

安全组负责监控整个云服务的运行安全。

域名

域名的好处

域名便于记忆。一个 IP 可以对应多个域名,但一个域名不能对应多个 IP。

域名备案

如果服务器位于中国,则需要进行备案。服务器位于国外则无需备案,但可能随时被屏蔽。目前的备案手续相对简单,大部分可以在线完成,只需提供相关背景材料的照片。

记录类型

A 记录

A 记录用于将域名指向服务器的 IP 地址。

CNAME 记录

CNAME 记录用于将多个名称映射到另一个域名。

域名分类

机构和企业

域名后缀适用机构
.com、.com.cn工商金融等企业
.gov、.gov.cn政府机构
.net、.net.cn提供互联网服务的机构
.org各类组织机构
.ac、.ac.cn科研机构
.edu、.edu.cn教育机构

国家和地区

域名后缀国家/地区
cn中国
ca加拿大
uk英国
jp日本
kr韩国
hk香港
tw台湾

域名级别

域名级别示例
一级域名baidu.com
二级域名wenku.baidu.com
三级域名wenku.english.baidu.com

根域名服务器

根域名服务器负责全球互联网域名根域名服务器、域名体系和 IP 地址的管理。主根域名服务器位于美国,辅根域名服务器共有 12 个,其中美国有 9 个,英国、瑞典、日本各有一个。管理结构由国际互联网名称与数字地址分配机构 ICANN 负责,前管理机构是商务部下属的国家通信与信息管理局(NTIA),现由 ICANN 外包管理。

雪人计划

雪人计划旨在建设自己的主根服务器和 3 个辅根服务器。