http2.0和https
与HTTP/1相比,主要区别包括
- HTTP/2采用二进制格式而非文本格式(二进制协议解析起来更高效)
- HTTP/2是完全多路复用的,即一个TCP连接上同时跑多个HTTP请求
- 使用报头压缩,HTTP/2降低了开销
- HTTP/2让服务器可以将响应主动“推送”到客户端缓存中,支持服务端推送(就是服务器可以对一个客户端请求发送多个响应)
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,TLS/SSL中使用 了非对称加密,对称加密以及HASH算法。比http协议安全。
- HTTPS的工作原理
HTTPS 在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息
- 什么是keep-alive模式 (持久连接,连接重用)
keep-alive使客户端到服务端的连接持久有效,当出现对服务器的后继请求时,keep-alive功能避免了建立或者重新连接
不需要重新建立tcp的三次握手,就是说不释放连接
http1.0默认关闭,http1.1默认启用
优点:更高效,性能更高。因为避免了建立/释放连接的开销
3.http1.0和http1.1区别:
- 缓存处理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入更多缓存控制策略,例如Entity tag,If-Match,If-None-Match等
- Http1.1支持长连接和请求的流水线(pipeline)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,默认开启Connection:keep-alive