知识目录.png
HTTP:
超文本传输协议
- 请求/响应报文
- 连接建立流程
- HTTP的特点
1.请求/响应报文
请求报文.png
响应报文.png
HTTP请求方式:
GET、POST、HEAD、PUT、DELETE、OPTIONS
GET和POST的区别:
初级答案:
GET请求参数以?分割拼接到URL后面,POST请求参数在Body里面
GET参数长度限制在2048个字符,POST一般没有该限制
GET请求不安全,POST请求比较安全
标准答案:
GET和POST的区别.png
安全性:不应该引起server端的任何状态变化。例如GET、HEAD、OPTIONS请求方式
幂等性:同一个请求方法执行多次和执行一次的效果完全相同。例如PUT、DELETE、GET请求方式
可缓存性:请求是否可以被缓存。例如GET、HEAD请求
都了解哪些状态码,他们的含义是?
1开头:
2开头:200响应成功
3开头:301、302发生了网络重定向
4开头:401、404客户端发起的请求有问题
5开头:501、502server端有问题
2.HTTP连接建立流程
屏幕快照 2018-05-11 14.48.40.png
3.HTTP的特点
- 无连接
可以使用HTTP的持久连接来弥补 - 无状态
可以使用Cookie/Session来弥补
持久连接
持久连接和非持久连接.png
头部字段:
- Connection:keep-alive;
客户端期许采用持久连接 - time:20
持续连接持续多长时间有效 - max:10
这条连接最多可以发生多少个HTTP请求和响应对
怎样判断持久连接中一个请求是否结束?
- Content-length:1024
- chunked:最后会有一个空的chunked
Charles抓包原理:
利用了HTTP请求的中间人攻击漏洞实现的
中间人攻击.png
HTTP和HTTPS有什么区别?
屏幕快照 2018-05-11 15.08.28.png
IP层就是网络层,TCP是传输层,HTTP属于应用层,SSL/TLS是位于应用层之下、传输层之上。
HTTPS连接建立流程是怎样的?
屏幕快照 2018-05-11 15.23.26.png
会话秘钥(相当于非对称加密中的最终秘钥):
等于
随机数random s + 随机数random c + 预主秘钥
生成
屏幕快照 2018-05-11 15.27.32.png
非对称加密:
非对称加密.png
加密和解密使用的🔑不一样
对称加密:
对称加密.png