https和http有什么区别是什么

【https和http有什么区别是什么】 HTTP和HTTPS的基本概念 HTTP:是互联网上应用最为广泛的一种网络协议 , 是一个客户端和服务器端请求和应答的标准(TCP) , 用于从WWW服务器传输超文本到本地浏览器的传输协议 。 它可以使浏览器更加高效 , 使网络传输减少 。  HTTPS:是以安全为目标的HTTP通道 , 简单讲是HTTP的安全版 , HTTPS的安全基础是SSL , 因此加密的详细内容就需要SSL 。 HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道 , 来保证数据传输的安全;另一种就是确认网站的真实性 。

https和http有什么区别是什么

文章插图
HTTP与HTTPS有什么区别?HTTP协议传输的数据都是未加密的 , 也就是明文的 , 因此使用HTTP协议传输隐私信息非常不安全 。 为了保证这些隐私数据能加密传输 , 于是网景公司设计了SSL(Secure Sockets layer)协议用于对HTTP协议传输的数据进行加密 , 从而就诞生了HTTPS 。  HTTPS加密、加密、及验证过程如下图: HTTP和HTTPS的区别 简单来说 , HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 , 要比http协议安全 。   HTTPS和HTTP的区别主要如下: 一、https协议需要到ca申请证书 , 一般免费证书较少 , 因而需要一定费用 。  二、http是超文本传输协议 , 信息是明文传输 , https 则是具有安全性的ssl加密传输协议 。  三、http和https使用的是完全不同的连接方式 , 用的端口也不一样 , 前者是80 , 后者是443 。  四、http的连接很简单 , 是无状态的;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 更多的请求 。   符:SSL的简介:  SSL是Netscape公司所提出的安全保密协议 , 在浏览器(如Internet Explorer、Netscape Navigator)和Web服务器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之间构造安全通道来进行数据传输 , SSL运行在TCP/IP层之上、应用层之下 , 为应用程序提供加密数据通道 , 它采用了RC4、MD5 以及RSA等加密算法 , 使用40 位的密钥 , 适用于商业信息的加密 。   同时 , Netscape公司相应开发了HTTPS协议并内置于其浏览器中 , HTTPS实际上就是SSL over HTTP , 它使用默认端口443 , 而不是像HTTP那样使用端口80来和TCP/IP进行通信 。 HTTPS协议使用SSL在发送方把原始数据进行加密 , 然 后在接受方进行解密 , 加密和解密需要发送方和接受方通过交换共知的密钥来实现 , 因此 , 所传送的数据不容易被网络黑客截获和解密 。   然而 , 加密和解密过程需要耗费系统大量的开销 , 严重降低机器的性能 , 相关测试数据表明使用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十 分之一 。

推荐阅读