一般招聘里写 “熟悉 TCP/IP、HTTP 协议及主流 WebServer”,不是要求你像网络工程师一样精通,而是希望你能理解 Web 请求从浏览器到服务器的基本链路,并能排查常见问题。
可以按这 3 块准备:
1. TCP/IP 要掌握什么
重点不是背七层模型,而是理解网络通信过程。
你需要知道:
TCP/IP 四层模型 / OSI 七层模型大概对应关系
比如:
- 应用层:HTTP、HTTPS、DNS
- 传输层:TCP、UDP
- 网络层:IP
- 数据链路层:以太网、Wi-Fi
面试常问:
TCP 和 UDP 的区别
可以这样答:
TCP 是面向连接、可靠传输的协议,会通过三次握手建立连接,通过确认、重传、流量控制等机制保证数据可靠到达;UDP 是无连接的,不保证可靠性,但速度快、开销小,适合直播、语音、游戏等实时场景。
TCP 三次握手、四次挥手
你至少要能说出:
三次握手:
- 客户端发送 SYN
- 服务端返回 SYN + ACK
- 客户端返回 ACK,连接建立
四次挥手:
- 一方发送 FIN
- 对方 ACK
- 对方也发送 FIN
- 原来一方 ACK,连接关闭
常见端口
要记几个:
- HTTP:80
- HTTPS:443
- MySQL:3306
- Redis:6379
- SSH:22
- Nginx 默认监听:80 / 443
2. HTTP 协议要掌握什么
这是最重要的,因为 Web 开发、接口联调、售前技术支持都会用到。
你需要掌握:
HTTP 请求和响应结构
一个 HTTP 请求大概包括:
- 请求方法:GET、POST、PUT、DELETE
- URL
- 请求头 Headers
- 请求体 Body
一个 HTTP 响应包括:
- 状态码
- 响应头
- 响应体
常见请求方法
重点掌握:
- GET:查询数据
- POST:提交数据 / 新增数据
- PUT:更新数据
- DELETE:删除数据
面试可以说:
我理解 GET 通常用于获取资源,参数一般放在 URL 中;POST 通常用于提交数据,请求体中可以携带 JSON、表单等内容。
常见状态码
这个很容易被问:
- 200:请求成功
- 301 / 302:重定向
- 400:请求参数错误
- 401:未登录 / 未认证
- 403:无权限
- 404:资源不存在
- 405:请求方法不支持
- 500:服务器内部错误
- 502:网关错误,常见于 Nginx 转发后端失败
- 504:网关超时,后端响应太慢
尤其要理解 502 和 504,因为部署项目时很常见。
HTTP 和 HTTPS 区别
可以这样答:
HTTP 是明文传输,HTTPS 是在 HTTP 基础上加入 SSL/TLS 加密,可以保证数据传输的安全性。HTTPS 默认端口是 443,HTTP 默认端口是 80。
Cookie、Session、Token
要知道基本区别:
- Cookie:存在浏览器端
- Session:存在服务器端,浏览器通过 Cookie 保存 session_id
- Token:常用于前后端分离,比如 JWT,客户端每次请求携带 token
请求头常见字段
了解几个就够:
- Content-Type:请求体格式,比如
application/json - Authorization:认证信息,比如 Bearer Token
- User-Agent:客户端信息
- Referer:来源页面
- Host:访问的域名
- Cookie:浏览器携带的 Cookie
3. 主流 WebServer 要掌握什么
这里一般指 Nginx、Apache、Tomcat 这些。
现在最常见的是 Nginx + 后端服务。
你重点准备 Nginx 就够用了。
Nginx 要掌握什么
1. Nginx 是干什么的
你可以这样理解:
Nginx 是常见的 WebServer,也可以作为反向代理服务器、负载均衡服务器和静态资源服务器。实际项目中,经常用 Nginx 接收用户请求,再转发给后端 Java、Node、Python 等服务。
2. 正向代理和反向代理
这个很常问。
正向代理:代理客户端
比如你访问外网,通过代理服务器出去,目标网站不知道你真实是谁。
反向代理:代理服务器端
比如用户访问 www.xxx.com,实际请求先到 Nginx,再由 Nginx 转发到后端服务。用户不知道真正的后端服务器是哪台。
一句话记忆:
正向代理代理用户,反向代理代理服务器。
3. 静态资源服务
Nginx 可以直接托管:
- HTML
- CSS
- JS
- 图片
- 视频
- 前端打包后的 dist 文件
比如 Vue / React 项目上线,经常就是打包后放到 Nginx。
4. 反向代理配置
要能看懂这种配置:
server {
listen 80;
server_name example.com;
location /api/ {
proxy_pass http://127.0.0.1:8080/;
}
location / {
root /usr/share/nginx/html;
index index.html;
}
}意思是:
- 访问
/api/的请求转发到后端 8080 服务 - 访问
/的请求返回前端静态页面
5. 负载均衡
知道 Nginx 可以把请求分发到多个后端服务:
upstream backend {
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}意思是:请求会被转发到两台后端服务器,实现负载均衡。
6. 常用命令
至少会这些:
nginx -t检查配置是否正确。
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx启动、停止、重启、重新加载配置。
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log查看访问日志和错误日志。
你应该掌握到什么程度?
对于普通实习 / 初级岗位,建议掌握到这个水平:
| 模块 | 要求 |
|---|---|
| TCP/IP | 知道网络分层、TCP/UDP 区别、三次握手、常见端口 |
| HTTP | 熟悉请求/响应、GET/POST、状态码、Headers、HTTPS |
| WebServer | 会解释 Nginx 作用,能看懂简单配置 |
| 部署排错 | 能根据 404、502、504、端口占用、日志定位问题 |
简历上可以这样写
如果你只是了解基础,可以写:
熟悉 TCP/IP、HTTP/HTTPS 等网络基础协议,了解 Web 请求处理流程,掌握常见 HTTP 状态码及接口联调方法,了解 Nginx 反向代理、静态资源部署与基础配置。
如果你有部署经验,可以写得更强一点:
熟悉 TCP/IP、HTTP/HTTPS 协议及 Web 请求链路,掌握 Nginx 反向代理、静态资源部署、负载均衡基础配置,能够结合日志排查 404、502、504、端口占用等常见部署问题。
如果是售前 / 解决方案岗位,更推荐写成:
了解 TCP/IP、HTTP/HTTPS 等网络基础协议,熟悉 Web 服务访问链路、接口联调流程及 Nginx 等 WebServer 的基础部署方式,能够配合完成系统部署、联调与常见问题排查。