早上刷到一条消息报错提示里写着 dps://p?url=https%3a%2f%2fpages-fast.m.taobao.com ,估计很多朋友第一反应都是“这是什么鬼”?还有那些一长串的 % 和数字。其实这就是 URL 编码后的样子,而 URL 只是 Web 通信里的最表层。真正撑起整个互联网的是 HTTP 和 HTTPS 这两个协议。我见过不少做了几年开发的人,天天和接口打交道,但问他\”URL 里的 %3a 和 %2f 到底怎么来的\”,照样答得模棱两可。这篇内容就是为完全零基础的朋友准备的,我会把 URL、HTTP、HTTPS 这三件事从头到尾拆开揉碎,用最直白的大白话讲清楚 Web 通信的底层逻辑,并且穿插一些实际调试中会遇到的细节,比如 HTTP 连接复用、502 状态码的含义,让你看完之后不光能看懂地址栏,还能在遇到问题的时候知道从哪里下手排查。
1. URL 到底是什么它绝不是\”网址\”两个字能概括的
很多人把 URL 直接叫\”网址\”,这没错,但不够准确。URL 的全称是 Uniform Resource Locator,统一资源定位符,它要解决的核心问题是:在茫茫互联网中,精准定位到某一个资源。这个资源可以是一个网页、一张图片、一个视频,甚至一个接口。你输入的每个字符都有它存在的理由,不能乱写,也不能省略。
1.1 URL 的基本组成:协议、域名、路径和查询参数
我随手写一个 URL 来拆解:
https://www.example.com:443/path/page.html?name=zhangsan&age=18#section1
这段地址可以分成五个部分,每一块都有自己的职责。
- 协议(scheme) : https ,告诉浏览器你准备用什么规则去访问这个资源。可以是 http 、 https ,也可以是 ftp 、 file 之类的。协议不同,通信方式就完全不同,这是 URL 里最重要的开头。
- 域名(host) : www.example.com ,用来识别网络中的哪台服务器。域名本质上是一串让人好记的代号,背后对应一个或者多个 IP 地址。你访问一个域名时,浏览器首先会通过 DNS 解析找到对应的服务器 IP。
- 端口(port) : :443 ,用来指定服务器上具体哪个进程在监听这个请求。HTTP 默认端口是 80,HTTPS 默认端口是 443。如果服务器上开了一个非默认端口的服务,就必须在 URL 里显式写出来,比如 http://192.168.1.100:8080 。
- 路径(path) : /path/page.html ,告诉服务器要访问的具体页面或资源位置,类似于你在一台电脑里找到某个文件的文件夹路径。
- 查询参数(query) : ?name=zhangsan&age=18 ,这是给服务器传参数的一种方式。以 ? 开头,多个参数之间用 & 分隔,每个参数是 key=value 的形式。它决定了服务器返回的内容具体是哪一种。
- 锚点(fragment) : #section1 ,它不会发给服务器,是浏览器内部的定位标记,比如滚动到页面某个位置。
很多人会混淆查询参数和路径,我举个例子说明:路径 /news 表示资源模块是新闻,而查询参数 ?id=123 表示这个新闻的具体编号。 /news?id=123 表达的是\”新闻这个分类下的第 123 条内容\”,如果写成
![[第五空间 2021]WebFTP 新手向解加kali下载dirsearch-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261103104816-6ae9bbf060b31-220x75.png)


![[项目] --- 基于 Spring Boot + Redis的多设计模式抽奖系统-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261031220757-6ae666bdaa3f5-220x150.png)
