<script>
    /*
        https的ssl加密是在传输层实现的
        1.http和https的基本概念
        http:超文本传输协议,是一个客户端到服务器端请求和应答的标准
        https:是以安全为目标的http通道,简单讲就是http的安全版,即http下加入ssl层,https的安全基础是ssl,因此加密的详细内容就需要ssl,
        https协议的主要作用是:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。
        2.http和https的区别?
        http传输的数据都是未加密的,也就是明文的,网景公司设置了ssl协议来对http协议传输的数据进行加密处理,简单来说https协议是由http和ssl协议构建的
        而可进行加密传输和身份验证的网络协议,比http协议的安全性更高。
        https协议需要ca证书,费用较高。
        http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
        使用不同的链接方式,端口也不同,一般而言,http协议的端口为80,https的端口为443
        http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
        3.https协议的工作原理
        https在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中确立双方加密传输数据的密码信息
        握手具体过程如下:
         - (1)浏览器将自己支持的一套加密规则发送给网站
         - (2)网站从中选出一组加密算法和hash算法,并将自己的身份信息以证书的形式发回浏览器。(证书包含了网站地址、加密公钥以及证书颁发机构等信息)
         - (3)浏览器获得网站证书后,要做以下工作:
                - 1)验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器地址栏会显示一个小锁头,
                否则会给出证书不受信任的提示
                - 2)如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。
                - 3)使用约定好的hash算法计算握手信息,并使用生成随机数对消息进行加密,最后将之前生成所有信息都发送给网站
         - (4)网站接受浏览器发来的数据之后,要做以下工作:
                - 1)使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手信息,并验证hash是否与浏览器发来的一致。
                - 2)使用密码加密一段握手信息,发送给浏览器。
         - (5)浏览器解密并计算出握手信息的hash,如果与服务端发来的hash一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。
       4.https协议的优点
       使用https协议可认证用户和浏览器,确保数据发送到正确的客户机和服务器。
       更安全,可防止数据在传输过程中被窃取、改变、确保数据的完整性。
       https是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
       5.https协议的缺点
       握手阶段比较费时,会使页面加载时间延长50%,增加10%-20%的耗电。
       https缓存不如http高效,会增加数据开销。
       ssl证书需要费用,功能越强大的证书费用越高
       ssl证书需要绑定ip,不能在同一个ip上绑定多个域名,ipv4资源支持不了这种消耗。
     */
</script>