当你在浏览器中键入“https://www.google.com”并按 Enter 键时会发生什么?
????????互联网是我们每天使用的奇迹,在其表面之下隐藏着一层层的复杂性。有没有想过当你输入一个URL时,幕后会发生什么?今天,让我们满足我们的好奇心,揭开由一个简单的命令启动的错综复杂的进程网络:键入“https://www.google.com”并按 Enter。
????????URL“https://www.google.com”是一个统一资源定位符 (URL),用于唯一标识网络上的资源,例如“https://www.google.com”。HTTPS 代表安全超文本传输协议。Google Chrome 等 Web 浏览器使用 HTTPS 来安全地加密对 www.google.com 的请求。像“google.com”这样的域名是网站的人类可读地址,而像“www.google.com”这样的子域名则用于组织和导航到网站的各个部分。
????????现在我们了解了“https://www.google.com”代表什么,让我们继续在浏览器中输入它并点击“Enter”。在几毫秒内(假设我们从未接触过 URL),DNS 递归解析就会发生。域名系统 (DNS) 服务器就像互联网的电话簿。当您在浏览器中输入类似“www.google.com”的 URL 时,DNS 服务器会将此人类可读的域名转换为您的计算机可以理解的 IP 地址(例如 172.22.16.1)。这类似于在手机中查找联系人姓名并查找他们的电话号码。
????????DNS 递归解析过程依赖于 DNS 解析器,该解析器充当服务器,负责确定与特定域名关联的 IP 地址。此解析器在各种 DNS 服务器之间启动一系列查询,从根服务器开始,遍历域名系统的层次结构。获取 IP 地址 (172.22.16.1) 后,解析器会临时存储或缓存该地址。这种缓存机制有助于优化未来的请求,确保后续尝试访问“https://www.google.com”或任何相关资源时不需要重复整个解析过程。相反,解析器可以直接使用缓存的信息快速将用户连接到目标网站。
????????IP 地址是分配给连接到计算机网络的设备的数字标签。它们充当唯一标识,允许设备通过 Internet 或本地网络相互通信。然后,我们的计算机向 Google 的 IP 地址发送 TCP/IP 请求。
TCP/IP 代表传输控制协议/互联网协议。TCP/IP 是一组网络协议,允许我们的计算机在 Internet 等网络上进行通信以访问“google.com”。它支持设备之间的端到端通信,而不管底层网络基础设施如何。想象一下发送一封信:你写下内容(数据),把它放在信封(数据包)中,然后写地址(目的地)。TCP/IP 执行类似操作,但在四个主要层中:
-
应用层:将其视为“内容”层。它包括 Web 浏览器、电子邮件和其他使用 Internet 的应用程序。键入 URL 时,此图层将处理数据和格式。
-
传输层:此层确保“信封”正确到达目的地。
-
互联网层:与信封寻址类似,该层处理数据包的“寻址”,添加发送方和接收方 IP 地址。它有助于跨网络路由数据包。
-
链接层:这一层类似于物理“发送”过程。它处理实际的硬件(如以太网或Wi-Fi)以在设备之间传输数据包。
????????在我们请求的内容交付给我们之前,我们必须通过一些称为防火墙的安全系统。就像我们用栅栏围住房屋以保护贵重物品免受入侵者侵害一样,防火墙是防止未经授权访问网络的网络安全系统。它根据预先确定的安全规则监视和控制传入和传出的网络流量。
????????我们已经成功通过了防火墙。数据(“google.com”中包含的内容)使用HTTPS/SSL在我们的浏览器和“google.com”IP之间传输。HTTPS/SSL通过加密增加了一层安全保护,确保浏览器和网站之间交换的数据保持机密,并防止未经授权的访问。
????????安全套接字层 (SSL) 是确保互联网上安全数据传输的基础技术。SSL确保我们与网站之间的安全、加密和身份验证通信,保护敏感信息免遭窃听和未经授权的访问。
????????想象一下,多个人阅读此博客,试图同时在他们的浏览器上输入“https://google.com”,您猜对了会有流量。为了缓解这种情况,引入了负载均衡器来均匀分配传入请求。负载平衡器是网络架构中的关键组件,它有效地在多个服务器之间分配传入的网络流量,使应用程序可靠、高效且可供用户使用。
????????我们的应用程序,例如“google.com”,托管在服务器组合上,包括 Web 服务器、应用程序服务器和数据库。
????????Web 服务器是提供 Web 内容、响应客户端(如 Web 浏览器)的请求以及通过 Internet 传送网页、文件或其他资源的软件或硬件。当用户在 Web 浏览器(如 Chrome、Firefox 等)中输入 URL(“https://www.google.com”)时,会向与该 URL 关联的 Web 服务器发送请求,然后它会处理该请求并使用我们之前研究的网络协议 (TCP/IP) 将请求的内容发送回用户的浏览器。
????????应用程序服务器是幕后的强大引擎,为动态内容提供动力,使网站和服务栩栩如生。它们在打造动态和个性化的用户体验方面发挥着关键作用。应用程序服务器是 Web 动态的架构师。想象一个新闻网站;每次您访问时,主页上都会出现新文章,反映最新事件或感兴趣的主题。这种动态由应用程序服务器编排,动态组合从数据库、新闻 API 或其他来源获取的内容。这些服务器实时处理请求,根据用户的偏好或浏览行为定制内容。
????????数据库是网站不可或缺的一部分,作为存储和管理各种类型数据的后端存储,以促进网站功能。数据库通常由数据库管理系统 (DBMS) 控制。DBMS 用于轻松访问、管理、修改、更新、控制和组织数据。它充当用户、应用程序和数据库本身之间的接口。两种类型的数据库是关系型数据库(如 SQL)和 Postgre SQL 和非关系型数据库(如 NoSQL)。
????????一旦服务器收集了所有必要的文件和数据,它就会将它们发送回您的浏览器,然后在您的屏幕上显示 Google 网站。
????????嗯,它就在这里!当您在浏览器中输入“https://www.google.com”并按 Enter 键时,会发生这种情况。这可能看起来很多,但这个过程进行得非常快。
网络数据流动图:
推荐阅读:《网络是怎样连接的》--户根勤
部分图片来源于网络。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!