响应码
1XX 信息响应
100 已接收,请继续请求
101 在切换协议
102 已接收,但无响应
103 配合link使用 代表可以预加载资源
2XX 成功响应
200 成功
201 请求成功并且创建新资源
202 已接收,还未响应
203 返回的信息被加工过
204 请求成功无返回值
3XX 重定向
300 多种请求响应
301 请求资源路径永久改变,新地址可从location找到
302 资源路径临时改变,切还可能改变,地址从location找
303 表明请求资源包含另一个URI 应该使用get方法请求
304 请求网页未修改,服务器影响但不返回内容
4XX 请求错误
400 服务器不理解语法
401 身份验证
403 拒绝请求
404 not found
405 禁用请求的方法
406 请求不接受
https 加密
对称加密
握手流程多了两步,
客户端: 你好,我需要发起一个https请求
服务器: 好的,你的秘钥是xxx
对称加密的加密解谜使用的是同一把秘钥
非对称加密+对称加密
使用https的服务器都需要拿到权威机构认证的证书,证书里有经过机构加密的公钥,而解密证书的公钥的钥匙内置在电脑的操作系统里
然后握手变成了四步
客户端: 你好,我需要发起https请求,给我证书
服务端: 好的,这是证书
客户端: 生成一个秘钥然后用证书获得的公钥加密解密传给服务器
服务器: 好的,后续就用这个公钥
为了防止证书被篡改,服务器返回证书的同时也会把哈希函数返回,改过的数据无法通过哈希校验
http/2.0
http2 相对http1.x的优化
在http2中,有两个概念。
帧代表数据传输最小单位,流代表一个请求。
流,就是请求。帧有一个标识,表明自己属于哪个流
http1.x中采用文本解析,但是http2使用二进制解析,因为文本的多样性,需要考虑的很多。二进制只需要考虑1 和 0
多路复用
keep-alive的升级版在一个tcp连接中可以存在多条流,允许并发多个请求,通过帧的标识识别归属。没有阻塞的情况,提高传输性能
头部压缩,
在http1.x中每次请求都会携带请求头,响应头,每次都要重复发送。http2.0让通讯双方各自缓存减少了传输大小,也避免了重复传输