美文网首页iOS日常须知
iOS-http与https的区别

iOS-http与https的区别

作者: 它是一只肥猫 | 来源:发表于2016-06-24 11:16 被阅读2480次

    在URL前加https://前缀表明是用SSL加密的。Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。

    HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比http协议安全。

    HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。

    HTTPS和HTTP的区别:

    1、https协议需要到ca申请证书,一般免费证书很少,需要交费。

    2、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

    3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

    4、http的连接很简单,是无状态的。

    5、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比http协议安全。

    HTTPS解决的问题:

    1、信任主机的问题

    采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户度才信任次主机. 所以目前所有的银行系统网站,关键部分应用都是https 的. 客户通过信任该证书,从而信任了该主机. 其实这样做效率很低,但是银行更侧重安全. 这一点对我们没有任何意义,我们的server ,采用的证书不管自己issue 还是从公众的地方issue, 客户端都是自己人,所以我们也就肯定信任该server.

    2、通讯过程中的数据的泄密和被窜改

    1. 一般意义上的https, 就是 server 有一个证书.

    a) 主要目的是保证server 就是他声称的server. 这个跟第一点一样.

    b) 服务端和客户端之间的所有通讯,都是加密的.

    i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程.

    ii. 加下来所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥. 当然窜改也就没有什么意义了.

    2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书.

    a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份. 应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.

    b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体.

    HTTPS 一定是繁琐的.

    a) 本来简单的http协议,一个get一个response. 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.

    i. 任何应用中,过多的round trip 肯定影响性能.

    b) 接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.

    i. 尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求.

    ii. 加密后数据量的影响. 所以,才会出现那么多的安全认证提示

    相关文章

      网友评论

        本文标题:iOS-http与https的区别

        本文链接:https://www.haomeiwen.com/subject/vvyodttx.html