每天,我们打开浏览器,输入一个网站地址,几秒钟内网页就会显示出来。这感觉几乎像魔法一样,然而在这个简单的动作背后,是一系列技术无缝协作的结果。
如果你曾经好奇过按下回车键后会发生什么,那么这篇文章就是为你准备的。我们将追踪从你的浏览器发出到服务器并返回的单个请求,同时解释每位后端开发人员都应掌握的核心概念。
宏观概览
想象一下,你在浏览器中输入:
https://roadmap.sh
。
几件事几乎瞬间发生:
- 你的设备连接到互联网。
- 浏览器询问:“roadmap.sh 在哪里?”
- 域名系统(DNS)将名称转换为互联网协议(IP)地址。
- 浏览器连接到服务器。
- 发送超文本传输协议(HTTP)请求。
- 服务器响应超文本标记语言(HTML)、层叠样式表(CSS)、JavaScript 和其他资源。
- 浏览器渲染网页。
让我们了解每一步。
什么是互联网?
互联网 simply 是一个由互联计算机组成的庞大网络。
连接到互联网的每台计算机都可以使用称为协议的约定规则与其他计算机通信。
可以将其想象为一个国际邮政系统。
- 计算机是房屋。
- 互联网协议(IP)地址是街道地址。
- 路由器是邮局。
- 数据包是信件。
- 协议是每个人都遵循的规则。
计算机不是发送一个巨大的文件,而是将信息分割成数据包。
每个数据包包含:
- 发送者地址
- 目标地址
- 部分数据
- 重新组装所有内容的指令
路由器转发这些数据包,直到它们到达目的地。
什么是 IP 地址?
连接到互联网的每个设备都有一个地址。
例如:
192.168.1.20
或
172.217.170.110
这些被称为IP 地址。
就像你的家有一个邮政地址一样,每台计算机都有一个 IP 地址,以便其他计算机知道将信息发送到哪里。
有两种常见版本:
- IPv4(32 位)
- IPv6(128 位)
由于连接到互联网的设备数量不断增长,引入了 IPv6 以提供大得多的地址空间。
为什么我们不输入 IP 地址?
想象一下,每次你想访问 GitHub 时都要记住这个地址:
140.82.121.3
相反,我们使用:
github.com
人类记忆名字比记忆数字更容易。
这就是域名发挥作用的地方。
什么是域名?
域名是指向服务器的人类友好名称。
示例包括:
- github.com
- roadmap.sh
- google.com
域名本身不包含网站。
相反,它是一个映射到 IP 地址的标签。
想想你的手机联系人。
你不会记得每个人的电话号码。
你保存的是:
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。