浏览器通过“网址”(URL)找到对应的“门牌号”(IP地址),然后通过网络找到服务器并建立连接。
下面我将分步详细解释这个过程,并告诉你如何在浏览器中实际操作和排查问题。
浏览器本身不知道www.google.com
在哪里,它需要一个数字化的地址,即IP 地址(如142.251.42.206
),才能在网上找到服务器,这个转换过程叫做DNS 解析。
整个过程可以分解为以下几步:
1. 输入网址
你在地址栏输入https://www.example.com
并按下回车。
2. 检查本地缓存
浏览器会先检查自己的缓存里有没有这个网址对应的IP地址。
然后会检查操作系统的 hosts 文件有没有强制指定。
如果找到了,就直接使用这个IP地址,跳过后续DNS步骤。
3. DNS 查询
如果本地没有记录,浏览器就会发起一个DNS查询,这是一个层层递进的过程:
递归解析器 浏览器会向你的网络服务提供商 的DNS服务器发起查询。
根域名服务器 如果ISP的服务器也没有记录,它会从根域名服务器开始问,根服务器不直接回答,但它会告诉你.com
域名的权威服务器在哪里。
顶级域服务器 接着去问.com
的权威服务器,它会告诉你example.com
这个域名的权威服务器在哪里。
权威域名服务器 最后去问example.com
的权威服务器,它终于会返回www.example.com
对应的真实IP地址。
4. 建立TCP连接
浏览器拿到IP地址后,会通过TCP/IP 协议 向服务器的这个IP地址的80端口 或443端口 发起一个连接请求,这个过程被称为“三次握手”,确保双方都能正常收发数据。
5. 发送HTTP请求
连接建立后,浏览器会构造一个HTTP 请求,里面包含了:
请求的方法(如GET
表示获取网页,POST
表示提交数据)。
请求的路径(如/index.html
)。
HTTP版本。
各种请求头(如浏览器类型、接受的语言、Cookie等)。
6. 服务器处理并返回响应
服务器收到请求后,会根据请求的内容进行处理(比如从硬盘读取文件,或从数据库获取数据),然后返回一个HTTP 响应,响应包括:
状态码(如200
表示成功,404
表示未找到)。
响应头(如内容类型、文件大小、设置Cookie等)。
响应体(即网页的HTML代码、图片数据等)。
7. 浏览器渲染
浏览器收到响应后,会解析HTML代码,构建DOM树和CSSOM树,合并成渲染树,然后计算布局、绘制像素,最终将完整的网页呈现给你。
作为用户,你可以通过浏览器自带的开发者工具来亲眼“看到”这个过程。
以 Google Chrome 为例:
1、打开开发者工具:
* 在网页上右键点击,选择“检查”。
* 或者按键盘上的F12
键。
2、查看网络请求:
* 点击“Network” 标签页。
* 为了看到最干净的结果,可以先点击左上角的“清除”按钮。
* 然后刷新网页。
3、分析信息:
* 你会看到一个列表,里面是网页加载的所有资源(HTML、CSS、JS、图片等)。
找到第一个请求(通常是文档类型,名字就是你的网址)。
* 点击它,右侧会弹出详细信息面板。
Headers 标签页这里包含了所有关键信息!
Remote Address这就是服务器的IP 地址和端口!
Request Headers这是浏览器发送给服务器的请求头。
Response Headers这是服务器返回的响应头。
General 部分下的Request URL这就是你输入的完整网址。
当上述过程中的任何一步失败时,浏览器就会报错,常见的错误有:
DNS_PROBE_FINISHED_NXDOMAIN DNS查询失败,找不到这个域名,可能是网址拼写错误,或者该网站已不存在。
ERR_CONNECTION_TIMED_OUT 浏览器找到了IP地址,但在尝试连接时服务器没有响应,可能是服务器宕机了,或者你的网络有问题。
ERR_CONNECTION_REFUSED 连接被服务器明确拒绝,通常是因为服务器上的服务(如Web服务)没有运行,或者防火墙阻止了连接。
404 Not Found 成功连接到了服务器,但服务器上找不到你请求的特定文件或页面。
步骤 | 核心任务 | 好比... |
1. 输入URL | 指定目标 | 告诉司机要去“北京天安门” |
2. DNS解析 | 将域名转换为IP地址 | 查地图或导航,把“北京天安门”转换为具体的经纬度坐标 |
3. TCP连接 | 与服务器建立可靠连接 | 司机开车上路,并确认道路畅通 |
4. 发送请求 | 向服务器索要资源 | 到达后,向工作人员说“我要一张门票” |
5. 接收响应 | 获取服务器返回的数据 | 工作人员把门票给你 |
6. 渲染页面 | 将数据展示为可视网页 | 你拿着门票,按照导览图游览整个景点 |
浏览器通过DNS系统 这个“全球地址簿”找到服务器的“门牌号”(IP地址),然后通过TCP/IP协议 这条“高速公路”与服务器建立连接,最后通过HTTP协议 这个“交流语言”来请求和接收网页内容。
文章摘自:https://idc.huochengrm.cn/fwq/17905.html
评论
哀傲易
回复在浏览器中,可以通过查看网页源代码或使用开发者工具的网络选项卡来找到服务器地址。