区别
    Http: 超文本传输协议,是明文传输的,默认端口是80端口
    Https: 默认端口443,https协议是可进行加密和身份认证的协议
    Https缺点:
    https握手时间比较费事,会使页面加载延时,增加耗电量
    https不如http高效,会增加数据开销
    CA证书需要收费

    问题1:443端口可以改吗?改过之后还可以用吗?
    当访问网站发现是https开头,直接向443端口发送请求。改了之后浏览器找不到443端口

    问题2:HTTPS就绝对安全吗?
    不是的,像fiddler抓https包,就是中间人的证书被认可信任的

    问题3:github SSH原理
    github 公钥和私钥

    HTTPS原理理解:

    1. 浏览器提交支持的加密算法
    2. 服务器收到请求,下发一个加密算法

    2.1在浏览器提交算法到服务器的时候会经过(无线路由器,猫,连到ISP供应商,深圳电信,深圳机房,机房路由)中间人,就会造成算法被拦截/篡改
    (算法被拦截/篡改,IP地址,网关,所有请求发送到同一个网关,然后这个网关再发送)
    2.2 服务器在接收到浏览器传过来的算法之后进行匹配,然后用CA证书的私钥对服务器公钥+算法+算法摘要+域名等加密成密文,传给浏览器。
    2.3 这也会被中间人劫持,但是中间人没有CA证书的公钥,解不开证书,即使有CA证书的公钥,也只能解开密文,看到支持的算法,没有办法篡改。
    2.4 浏览器这边会从操作系统找到证书对应的公钥,然后解密成明文,然后生成一个随机数(对称加密传输数据),利用服务器的公钥对随机数加密成密文,发送到服务器,这样浏览器和服务器都有随机数,而中间人不知道,就可以利用这个随机数进行对称加密传输数据了
    摘要算法/哈希算法
    签名: 原本数据+摘要+算法,服务器再拿原始数据产生一个新的摘要

    1. HTPTPS采用非对称加密验证证书以及身份,采用对称加密传输数据

    https1.jpg
    https2.jpg