网络如何运作?

2025-05-24

网络如何运作?

汽车、电视、炉灶和冰箱是我们日常使用的机器,使用起来相当简单。这些都是我们生活中必不可少的工具,但大多数人并不完全了解它们的工作原理,但这并非世界末日。我们无需了解它们的工作原理就能使用它们。电脑和移动设备也是大多数人知道如何使用的其他机器,但它们是相当复杂的机器,能够完成许多功能。

通过这些设备,我们连接到万维网(www),也就是我们通常所说的Web,在那里我们可以访问各种资源,例如文档、音频、图片和视频。尽管随着时间的推移,网络变得越来越复杂,但使用起来却非常简单,就连7岁的拉里也能打开妈妈的iPad,在YouTube上观看他最喜欢的动画片。

你有没有想过,像年轻的拉里这样的人,在 YouTube 上播放视频背后究竟发生了什么?又或者,你是如何进入一个网站的?你来对地方了。让我们来了解一下网络运作的关键参与者。


万维网的历史

蒂姆·伯纳斯·李爵士

万维网(World Wide Web,又称万维网)是由英国计算机科学家蒂姆·伯纳斯-李爵士于1989年发明的。他的父母都是计算机科学家,但蒂姆从小就对火车更感兴趣。他接触电子技术是因为他必须制造电子设备来控制火车。最终,他对电子技术的兴趣超过了对火车的兴趣,于是他开始从事计算机和软件方面的工作。

蒂姆从牛津大学毕业后,成为了瑞士欧洲核子研究中心(CERN)的一名软件工程师。当时,一切都依赖于手动和离线操作,你必须登录不同的计算机才能存储信息。有些计算机使用不同的程序,所以你只有两种选择:要么学习在每台计算机上使用不同的程序来访问信息,要么去和同事喝咖啡聊天,了解它们的工作原理。

随着数百万台计算机通过互联网连接在一起,蒂姆设想了一种将世界与信息连接起来的技术,并向欧洲核子研究中心的导师提出了自己的想法。虽然这从未正式成为项目,但他的导师还是给了他时间来完成这项伟大的任务。

www-提案

到 1990 年,Tim 开发了构成当今网络基石的三大基础技术:HTMLURIHTTP。随着时间的推移,网络不断发展,Tim 意识到,只有当网络能够随时随地、无需任何成本或许可地访问时,它才能真正发挥其潜力。欧洲核子研究中心 (CERN)同意永久免费使用网络,并于 1993 年 4 月宣布了这一决定。自此以后,网络不断发展壮大,截至 2021 年 4 月,网站总数已达18 亿。

如果这项技术是专有的,并且完全由我掌控,它很可能就不会流行起来。你不能一边提议将某个东西变成通用空间,一边又控制着它。——蒂姆·伯纳斯-李爵士


网络的现代

关于网络的历史已经讲得够多了,现在该谈谈蒂姆这项崇高任务的成果如今是什么样子了。总结一下网络的流程:浏览器向服务器发送 HTTP 请求以访问特定内容,服务器返回包含该请求数据的 HTTP 响应给浏览器。我们稍后会更详细地讲解,但它大致如下:

现代网络

让我们来了解一下网络上的每个关键参与者。

客户端、服务器和 HTTP

我花了很多空闲时间看YouTube。这可能是我一生中花费时间最多的网站了。为了访问该网站观看视频,我会遵循以下步骤:

  1. 打开我的电脑
  2. 打开 Google Chrome
  3. 在浏览器中,我输入www.youtube.com
  4. 我进入网站
  5. 观看视频

在这个例子中,我是请求访问 YouTube 数据库中某个视频的客户端。YouTube 通过提供访问该视频的 Web 服务来为我提供服务,因此 YouTube 本身就是服务器

客户是指连接到互联网并使用网络浏览器等客户端软件的计算机硬件。您的计算机和移动设备是使用 Chrome、Firefox 或 Safari 等浏览器的客户端。我们通常将设备、浏览器以及使用该设备的用户称为客户端。客户端可以请求访问服务器存储的内容。

另一方面,服务器是计算机软件及其硬件,通过接收客户端的请求并相应地返回响应来提供服务。服务器可以显示网页、发送/接收电子邮件、存储和共享文件,或者识别和授权用户帐户。

我喜欢将客户端和服务器的关系比作公共图书馆的读者和图书管理员。读者可以向图书管理员询问他想要的书,如果图书管理员有这本书的副本,就会回复该书的地址。客户端也可以向服务器发送请求来查看网页文档。

图书管理员卡通

当人类彼此交谈时,我们使用一种共同的语言,并遵循其语法结构来传递信息。客户端和服务器也使用超文本传输​​协议 (HTTP)来实现同样的功能,HTTP 是一种请求-响应协议,它们在交换数据时相互依赖。

客户端通过发送HTTP 请求与服务器通信,该请求包含客户端所需信息;服务器则通过返回HTTP 响应作为请求的结果来响应客户端。HTTP 请求和响应都包含HTTP 标头,以便客户端和服务器更好地相互理解。HTTP 标头包含客户端设置(浏览器、操作系统)、浏览器 Cookie 以及客户端想要访问的域名等信息。

HTTP 响应通常包含所请求的资源数据,以及指示请求操作是否成功的状态。正如“超文本”一词所暗示的那样,HTTP 请求和响应传输的内容不仅仅是文本。这些内容可以是代码文件(例如 HTML、CSS、JavaScript),也可以是资产(例如图像、音频、视频、文档等) 。

然而,黑客有可能在中间截取数据并查看正在交换的数据。这可能会导致登录银行账户、电子邮件或健康保险账户时出现可怕的后果。因此,引入了超文本传输​​安全协议 (HTTPS)来加密数据。使用HTTPS,即使黑客截取了数据,也只能看到加密的无意义字符。可以使用客户端和服务器之间的共享密钥解密数据。

网络工作流

Internet、TCP/IP 和 DNS

为了使客户端和服务器能够通信,它们需要连接到称为互联网的全球计算机网络系统。我们每月向互联网服务提供商 (ISP)支付费用才能连接到网络。互联网使用互联网协议套件 (TCP/IP) 在计算机之间交换数据包。

这些数据包是数据片段,用于可靠高效地传输数据。传输大文件而不是数据包效率低下,因为数据传输速度会根据发送方式(光缆、铜线或卫星)而变化。这可能会导致意外的数据丢失或数据包顺序的改变。这时,互联网协议套件就派上用场了。

包

互联网协议套件是一种通信协议,用于确保数据成功交换到预定目的地。它由两个协议组成:TCPIP

TCP代表传输控制协议,它定义了数据模型,并为每个正在传输的数据包分配编号。通过为每个数据包分配的编号,TCP 可以检测传输过程中的数据丢失,从而修复数据,并将它们以正确的顺序重新组合成一个文件。由于其复杂性,TCP 非常可靠。

为了使数据在计算机之间传输到正确的位置,需要每台计算机的地址。IP代表互联网协议 (Internet Protocol) ,用于将数据路由到正确的位置。IP地址是由数字和句点组成的一组唯一计算机地址,例如IPv4。随着网络规模的日益增长,IP 地址的新版本 IPv6 应运而生,以满足对更多互联网地址的需求。与之前采用 32 位二进制 IP 地址的版本相比,IPv6 采用 128 位二进制 IP 地址,允许 340 亿亿个唯一地址空间!以下是 IPv6 地址的示例:192.158. 1.382001:0db8:85a3:0000:0000:8a2e:0370:7334

网络包

然而,这些 IP 地址并非人人可读,我们需要地址簿来保存所有网站的 IP 地址。如果http://142.250.188.238/每次都要查找 Google 的 IP 地址并在浏览器中输入,那就非常不方便了。为了解决这个问题,域名系统 (DNS)应运而生。DNS 就像互联网的地址簿。我们从 DNS 提供商处购买域名,这些域名是更人性化的网站地址,例如google.comyoutube.comfacebook.com。网站购买域名后,DNS 提供商负责将域名 URL 转换为 IP 地址并发送给客户端。

客户端 DNS

典型的 Web 流程

话虽如此,让我们看一个用户访问 YouTube 主页的示例,并分析一下幕后发生的事情:

网络作品

  1. 用户打开连接到互联网的笔记本电脑(客户端)并打开 Google Chrome(浏览器
  2. 用户在浏览器地址栏中输入网址www.youtube.com
  3. 浏览器访问DNS 服务器,将网址转换为IP 地址
  4. 浏览器使用IP 地址向 YouTube服务器发出HTTP 请求以访问网站页面
  5. YouTube 服务器查看HTTP 请求,将数据准备成数据包并为每个数据包进行TCP编号(许多公司将其数据存储在 Oracle Cloud 或 AWS 等服务中)
  6. YouTube服务器向用户浏览器发送HTTP 响应,其中包含“200 OK”状态代码(表示请求已成功处理)
  7. TCP数据包重新组合成整体数据,并通过解析HTMLCSSJavaScript及其资源(如图像和视频)来显示网页

结论

在家办公

想象一下没有网络的世界。想象一下,你在没有谷歌的情况下完成学校项目,就像几十年前一样,那时没有互联网,一切都很简单。你不得不访问书籍、报纸或杂志等线下文档。研究人员不得不飞越全国去采访合适的人员来收集数据。

网络将世界各地的人们连接起来,交换信息,使许多事情成为可能。现在,有了互联网,你无需前往百视达门店租借DVD,就可以在任何地方观看Netflix;与世界各地的亲朋好友进行视频聊天;或者干脆用谷歌搜索任何你想找的信息。尤其是在新冠疫情期间,网络的力量更加凸显:它让世界无论身在何处都能互联互通。它允许远程办公、提供外卖服务,并让任何人都能快速便捷地获取新冠疫情指南,从而最大限度地减少了对社会的损害。

虽然您无需完全了解网络的工作原理即可使用它们,但我希望提供一些关于网络运作方式的历史和知识。欢迎在下方评论区提供更多信息!非常感谢您抽出时间阅读这篇博文。

关注我的博客帐户或在LinkedIn上联系以获取更多技术内容!

文章来源:https://dev.to/chuckchoiboi/how-does-the-web-work-543
PREV
控制台 API。
NEXT
让我们谈谈跨域资源共享(CORS)