http和https
http、https是应用层的协议;
https的SSL加密是在传输层实现。
一、http和https基本概念
http:超文本传输协议,是客户端与服务端之间请求和应答的标准,是从服务端传输超文本到客服端的传输协议,可以提高浏览器效率、减少网络传输次数;
https:是http的安全版,在http下加入SSL层,建立了一个信息安全通道,确保数据传输的安全性。
二、http和https区别
1.https协议需要CA证书,http不需要;
2.https是ssl加密传输协议,http是超文本传输协议;
3.https的端口是443,http的端口是80;
4.https在http的基础上使用了ssl协议进行加密传输,http是连接简单,无状态。
三、http工作过程
1.在DNS服务器中,解析域名得到服务端的IP地址
2.通过三次握手,与服务端建立起TCP连接
3.客户端发送http请求
4.服务端相应
5.通过四次挥手,关闭TCP连接
6.客服端解析报文,解析HTML,渲染页面
四、https工作过程
1.在DNS服务器中,解析域名得到服务端的IP地址
2,客户端发送https请求
3,服务端响应请求,将CA证书发给客户端(公钥,域名,申请证书的公司)
4,客服端收到CA证书之后,验证证书合法性
5,如果CA证书合法,客户端生成一个进行对称加密的会话秘钥,并用公钥对会话秘钥进行非对称加密
6,客户端会发起HTTPS中第二个HTTP请求,将加密之后会话秘钥发送给服务端
7,服务端用私钥对会话秘钥进行非对称解密获得会话秘钥。
8,服务端在将报文通过会话秘钥进行对称加密生成密文并发送
9,客户端收到密文后通过会话秘钥进行解密获得报文
10,客服端解析报文,解析HTML,渲染页面
对称加密:一把会话秘钥可以同时进行加密和解密工作
非对称加密:公钥加密,私钥解密;私钥加密,公钥解密
五、https优点
1.准确性
2,安全性
3,完整性
六、https缺点
1.费用高
2,时间久
3,缓存慢
4,同一个IP不能绑定多个域名