引文:
-
HTTP协议
-
HTTPS与网络安全
-
TCP/UDP
-
DNS解析
-
Session/Cookie
HTTP
: 超文本传输协议
请求/响应报文
HTTP的请求方式:
GET / POST / HEAD / PUT / DELETE / OPTIONS
GET/POST
区别
一般角度
GET
请求参数拼在url后面,POST
参数放在body里面
GET参数长度限制2048个字符,
POST参数长度无限制
GET请求不安全,
POST`请求比较安全
语义角度
1. GET 是用来获取资源的 (安全, 幂等的, 可缓存的)
2. POST是处理资源 (非安全, 非幂等的, 不可缓存的)
安全 --> 不应该引起server端的任何状态变化, 常用方式 get / head / options
幂等性 --> 同一个请求多次访问的结果完全一致 常用方式 put / delete
可缓存 --> 请求是否可以缓存, 常用方式 post
连接建立流程
客户端(C)与服务端(S)的通信机制
三次握手
- C 向S发送SYN请求报文
- S 向C返回SYN,ACK确认响应
- C向S发送ACK确认报文 , 此时双方握手成立
四次挥手
- C向S发送FIN请求报文
- S向C发送ACK响应 (此时客户端与服务端断开连接)
- S向C发送FIN,ACK请求,
- C向S发送ACK请求 (此时服务端与客户端断开连接)
HTTP的特点
无连接
HTTP的持久连接
HTTP协议
Charles抓包原理 (中间人攻击)
无状态
Cookis/Session
HTTPS与网络安全
HTTPS和HTTP的区别
HTTPS = HTTP + SSL/TSL
HTTPS建立连接的时候使用非对称加密, 非对称加密是很耗时的.
后续通讯的时候使用对称加密
非对称加密: 公钥加密 私钥解密
对称加密: 秘钥加解密
TCP/UDP (传输层协议)
TCP: 传输控制协议
特点: 面向连接, 可靠传输(无差错,不丢失,不重复,按序到达), 面向字节流, 流量控制, 拥塞控制.
UDP: 用户数据报协议
DNS解析
域名到IP地址的映射,DNS解析请求采用UDP数据报,且明文.
查询方式: 递归查询,迭代查询
DNS解析常见的问题:
DNS劫持问题
DNS解析转发问题
DNS劫持与HTTP没有任何关系, DNS解析是发生在HTTP之前的,DNS解析是使用UDP数据报协议, 端口53.