1. HTTP协议
超文本传输协议
- 请求/响应报文
-
请求
image -
响应
image -
请求方式
- GET
- 请求参数以?分割拼接到URL后面
- 参数长度限制2048个字符
- 不安全
- POST
- 请求参数在Body里面
- 参数长度没有限制
- 比较安全
安全:不应该引起server端的任何状态变化 幂等性:同一个请求方法执行多次和执行一次的效果完全相同 可缓存性: 请求是否可以被缓存
- HEAD
- PUT
- DELETE
- OPTIONS
- GET
-
-
状态码
image -
连接建立流程
image - HTTP的特点
- 无连接
-
HTTP的持久连接
image- 头部字段
- Connection : keep-alive
- time : 20 —— 连接保持多久
- max : 10 —— 最多可以发送多少次
- 怎样判断请求结束
- Content-length : 1024
- chunked,最后会有一个空的chunked
- Charles抓包原理
-
中间人攻击漏洞
image
-
- 头部字段
-
- 无状态
- Cookie/Session
- 无连接
2. HTTPS与网络安全
-
HTTPS和HTTP的区别
image -
HTTPS连接建立流程
image
image -
HTTPS采用的加密手段
image-
非对称加密
image -
对称加密
image
-
3. TCP/UDP
image- UDP
- 特点
- 无连接
- 尽最大努力交付
-
面向报文,既不合并,也不拆分
image
- 功能
- 复用
-
分用
image -
差错检测
image
- 特点
- TCP
- 特点
- 面向连接
- 数据传输开始之前需要建立连接
- 三次握手 —— 规避请求超时异常
- 数据传输结束之后需要释放连接
- 四次挥手 ——
- 数据传输开始之前需要建立连接
- 可靠传输
-
无差错
-
不丢失
-
不重复
-
按序到达
-
停止等待协议
-
无差错情况
image -
超时重传
image -
确认丢失
image -
确认迟到
image
-
-
-
面向字节流
image - 流量控制
-
滑动窗口协议
image
-
- 拥塞控制
-
慢开始、拥塞避免
image - 快恢复、快重传
-
- 面向连接
- 特点
4. DNS解析
image- DNS解析查询方式
-
递归查询
image -
迭代查询
image
-
- 常见问题
-
DNS劫持问题
image- 和HTTP没有关系
- DNS解析发生在HTTP建立连接之前
- DNS解析请求使用UDP数据报,端口号53
- 解决
-
httpDNS
image
image -
长连接
image
-
- 和HTTP没有关系
-
DNS解析转发问题
image
-
5. Session/Cookie
Cookie
-
HTTP协议无状态特点的补偿
image
image- 客户端发送的cookie在http请求报文的Cookie首部字段中
- 服务器端设置http响应报文的Set-Cookie首部字段
- 修改cookie
- 新cookie覆盖旧cookie
- 覆盖规则:name、path、domain等需要与原cookie一致
- 删除cookie
- 新cookie覆盖旧cookie
- 覆盖规则:name、path、domain等需要与原cookie一致
- 设置cookie的expires=过去的一个时间点,或者maxAge=0
- 如何保证cookie的安全
- 加密处理
- 只在https上携带cookie
- 设置Cookie为httpOnly,防止跨站脚本攻击
Session
imageimage
网友评论