HTTP 与 Web 基础面试笔记
1 Session 与 Cookie 的区别
| 维度 | Cookie | Session |
|---|---|---|
| 存储位置 | 客户端(浏览器) | 服务器端 |
| 安全性 | 明文存储,可被篡改 | 相对安全 |
| 生命周期 | 可设置过期时间,可持久化 | 一般依赖会话,超时失效 |
| 大小限制 | 有限(约 4KB) | 服务端控制 |
| 性能 | 每次请求携带,增加带宽 | 服务端保存,占用服务器内存 |
配合使用:Session 一般用 SessionID 标识,SessionID 通过 Cookie 下发到浏览器;客户端请求时带上 Cookie,服务器据此查找对应的 Session。
2 Cookie 在 HTTP 报文中的位置
Cookie 位于 HTTP 请求报文的 请求头(Request Headers) 中(Cookie: name=value),响应报文中通过 Set-Cookie 响应头设置。
3 HTTP 与 HTTPS
- HTTP:明文传输,端口 80;
- HTTPS:HTTP + SSL/TLS 加密传输,端口 443,通过证书实现身份认证和数据加密;
- HTTPS 建立过程:客户端发起请求 → 服务器返回证书(含公钥)→ 客户端验证证书并协商密钥 → 对称加密通信。
4 HTTP 幂等性
幂等性:相同请求执行 N>0 次产生的副作用与执行一次相同。
- 幂等方法:GET、HEAD、PUT、DELETE(正确实现下);
- 非幂等方法:POST(每次创建资源);
- 所有 safe(安全) 方法都是幂等的(GET、HEAD、OPTIONS、TRACE)。
5 常见出题点
- http 常用首部字段(请求头/响应头/实体头);
- http 报文头结构、报文长度边界字段(Content-Length、Transfer-Encoding: chunked);
- http 和 https 的区别、长连接与短连接的优劣;
- cookie 在 http 报文的位置。
更完整的 TCP/HTTP 知识点见《TCP/IP 网络协议面试笔记》和《Nginx 与 IO 多路复用面试笔记》。
阅读 —
·
全站 —