🚪 网络入门篇(零基础版)
网络是什么 · IP/端口/域名 · HTTP 请求长什么样 · 抓包看请求——程序员必懂的通信常识
1. "网络"是什么?两台电脑怎么通信?
📮 类比——寄快递:
你的浏览器(寄件人)→ 网站服务器(收件人)
寄快递需要:地址(IP) + 收件人(端口) + 快递内容(数据) + 运输规则(协议)
你打开网页 = 给服务器"寄了一封信"(请求),服务器"回信"(响应),浏览器把信的内容展示出来。
你的浏览器(寄件人)→ 网站服务器(收件人)
寄快递需要:地址(IP) + 收件人(端口) + 快递内容(数据) + 运输规则(协议)
你打开网页 = 给服务器"寄了一封信"(请求),服务器"回信"(响应),浏览器把信的内容展示出来。
网络 = 计算机之间传数据的规则和通道。你每天用的浏览器、App、数据库连接,全是网络通信。
关键概念:
- IP 地址:计算机的"门牌号"(如 192.168.1.100)——找到哪台电脑
- 端口:电脑上的"收件人"(如 80 是网站、3306 是 MySQL)——找到哪个程序
- 域名:IP 的"好记名字"(www.baidu.com)——DNS 负责翻译成 IP
- 协议:通信的"格式约定"(HTTP 是网页协议、TCP 是可靠传输协议)
一次完整访问:你打开 www.baidu.com
1. 浏览器查 www.baidu.com 的 IP(问 DNS 服务器)→ 110.242.68.66
2. 和 IP:443 建立连接(TCP 三次握手)
3. 发送请求:GET / HTTP/1.1(问百度要首页)
4. 服务器返回:HTTP 200 + 网页内容(HTML)
5. 浏览器解析 HTML 画出页面
// 整个过程 < 1 秒,你无感知——这就是网络
🎯 记住
- IP 找机器、端口找程序、域名是 IP 的别名
- 你电脑也有 IP(ipconfig 查),服务器也有(公网 IP)
- 本地调试:localhost = 127.0.0.1(自己电脑)
2. HTTP 请求和响应长什么样?(会看就会调接口)
HTTP = 网页/接口的通信协议。你调任何后端接口(GET/POST),本质都是发 HTTP 消息。
HTTP 请求的结构
// 请求行:方法 + 路径 + 版本
GET /api/user/1 HTTP/1.1
// 请求头:一堆"元信息"(键: 值)
Host: www.example.com // 发给谁
User-Agent: Mozilla/5.0 ... // 我是谁(浏览器/客户端)
Cookie: sessionId=abc123 // 登录凭证
Content-Type: application/json // POST 时的数据格式
// 请求体(GET 没有,POST 有):
{"name": "小明", "age": 18}
HTTP 响应的结构
// 状态行:版本 + 状态码 + 说明
HTTP/1.1 200 OK // 200 = 成功;404 = 没找到;500 = 服务器错
// 响应头
Content-Type: application/json
Set-Cookie: token=xyz // 服务器让你存凭证
// 响应体
{"id": 1, "name": "小明", "age": 18}
🎯 状态码速记(面试必问)
- 2xx 成功(200 正常)· 3xx 重定向(304 用缓存)· 4xx 客户端错(404 不存在、401 没登录)· 5xx 服务器错(500 代码炸了)
- 调接口报错先看状态码:4xx 是你请求的问题,5xx 是后端的问题
- curl 命令 / 浏览器 F12 开发者工具都能看 HTTP 请求——多看看就熟了
3. 动手:第一次"抓包"看请求
- 打开任意网站,按 F12(开发者工具)→ 点 Network(网络)标签
- 刷新页面 → 会看到几十个请求(HTML、CSS、图片、接口)
- 点开一个 .js 或接口请求 → 看 Headers(请求头响应头)、Preview/Response(返回内容)
命令行版:curl 直接看请求响应
# Windows CMD / Mac 终端都能用
curl https://www.baidu.com # 发 GET,看返回的 HTML
curl -i https://www.baidu.com # -i 连响应头一起看
curl -X POST http://localhost:8080/api/user -H "Content-Type: application/json" -d '{"name":"x"}'
# 调自己 Spring Boot 接口就是这么调的
🎯 学习建议
- F12 + Network 是程序员每天用的工具,现在就打开看 10 分钟
- 看懂请求 = 懂前端在调什么;看懂响应 = 懂后端返回什么
4. 网络学习路径
- 本篇:IP/端口/HTTP 直觉 ✅
- TCP 协议:三次握手四次挥手、可靠传输(面试重灾区)
- HTTP/HTTPS:版本演进、TLS 加密、Cookie/JWT
- 网络基础:DNS、分层模型、"输入 URL 全过程"
- IO 模型:BIO/NIO/epoll(进阶)
🎯 常见误区
- 误区 1:"HTTP 和 TCP 是一个东西"——HTTP 是应用层协议(内容格式),TCP 是传输层(可靠运输),HTTP 跑在 TCP 上
- 误区 2:"GET 比 POST 安全"——都不安全(明文),HTTPS 才加密
- 误区 3:"443 是 HTTP 端口"——80 是 HTTP,443 是 HTTPS