`
zysoo
  • 浏览: 28147 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
阅读更多
区别:
https协议需要到ca申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

特性:
a) 本来简单的http协议,一个get一个response. 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.
i. 任何应用中,过多的round trip 肯定影响性能.
b) 接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.
i. 尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求.
ii. 加密后数据量基本相同
由于HTTPS协议的复杂性,能对 HTTPS协议进行攻击也相对少的多,HTTPS协议如果使用的非标准端口,基本可以杜绝所有的代理攻击,还避免了多线程的下载,降低服务器压力,但是由于HTTPS协议的复杂性,服务器新跟能够相对HTTPS协议来说会低些,对客户电脑性能的要求也就有所提高。

性能问题:
加密和解密过程需要耗费系统大量的开销,严重降低机器的性能,相关测试数据表明使用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十分之一。假如为了安全保密,将一个网站所有的Web应用都启用SSL技术来加密,并使用HTTPS协议进行传输,那么该网站的性能和效率将会大大降低,而且没有这个必要,因为一般来说并不是所有数据都要求那么高的安全保密级别,所以,我们只需对那些涉及机密数据的交互处理使用HTTPS协议,这样就做到鱼与熊掌兼得。总之不需要用https 的地方,就尽量不要用
https 的关键性能影响是 CPU 和往返. 如果CPU 很强的话, 性能可能就是有人讲的80%. 如果cpu 是瓶颈的话, 有人讲原来可以server 330-500个请求每秒,现在只有30-50%

关于ssl计算性能:
SSL密码系统所需的数学计算涉及到大数和大多数商用处理器指令集中所没有的数学函数。这类计算一般利用软件完成,因而给服务器造成沉重负担,一般服务器性因此会下降两个数量级。当事务处理全部采用SSL保护时,每秒能够处理1000次事务的服务器,每秒只能完成10次事务处理。
解决这种性能问题的传统解决办法是采用多CPU服务器来处理安全传输流,并且将安全网页限量应用在尽可能小的关键事务处理集合中,如信用卡数字交换。
另一种办法是利用协处理器提高SSL密码系统的速度。这类产品执行RSA加密或分组加密,或同时执行这两种加密。所有这些加密仍依靠主机处理器向加密芯片发送和从加密芯片接收SSL记录。这些处理器每秒处理成千上万个新SSL握手请求。但是,它们的实现方法要求重要的“粘接件”支持加密硬件与主机处理器之间的协作处理,并且大多数方法仍依靠PCI总线在加密芯片与主机之间传送数据。这种架构增加了复杂性,而且由于处理一次SSL会话握手就需要加密处理器与主机CPU之间进行多次交换,从而形成了性能瓶颈。
单芯片系统

  解决性能瓶颈的一种方法是将整个系统放在一个芯片上来执行传输流分类、全部SSL协议和所有的分组加密。单芯片系统不需要与主机CPU打交道,从而减少了复杂性,并大大改进了性能。单芯片安全处理器为客户机端和服务器端提供了工业标准的千兆以太网接口。妨碍消灭海量SSL会话的最有威胁的障碍之一是处理封装SSL记录的TCP/IP包。即使没有建立SSL会话,仅一条千兆TCP/IP传输流就够让一个传统CPU忙个不停。新型芯片集成了高性能TCP/IP处理器,这个处理器可以为SSL传输流处理TCP分割、包重新排序和其他可能使主处理器陷于停顿的协议功能。客户机端接口是千兆媒体独立接口(GMII)端口,该端口直接安装在网络接口卡(NIC)或专用设备的物理接口的后面。
  客户机HTTP传输流直接通过芯片被传送到服务器端口。服务器端口也是GMII接口。输入的SSL传输流被传送到芯片的加密部分。芯片执行所有的SSL协议功能和分组加密,并在对解密后的明文信息进行梳理并提交给服务器端口。
分享到:
评论

相关推荐

    Nginx同时支持Http和Https的配置详解

    下面列举一个配置同时支持Http和Https的功能。 需要注意的是:既然选择使用Https,就是为了保证通信安全,那么就没必要再用Http进行通信了。在URL中还支持Http的方式,主要是为了用户不知道网站支持Https,还是使用...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    3. 支持http和https:HttpClientUtil需要能够处理HTTP和HTTPS协议。HTTP协议不涉及数据加密,而HTTPS协议在HTTP的基础上加入了SSL/TLS层,提供数据加密和服务器身份验证,确保通信安全。HttpClient支持SSL/TLS,只需...

    使用JSONP完成HTTP和HTTPS之间的跨域访问

    ### 使用JSONP完成HTTP和HTTPS之间的跨域访问 在现代Web开发中,跨域问题是一项常见挑战,尤其是在涉及不同协议(如HTTP与HTTPS)的数据交互时。本文将深入探讨如何利用JSONP(JSON with Padding)技术来实现HTTP与...

    C#用FiddlerCore抓包HTTP和HTTPS源码

    在IT行业中,网络通信分析是开发和调试过程中不可或缺的一部分,特别是在处理HTTP和HTTPS协议时。本文将深入探讨如何使用C#结合FiddlerCore库来实现对这两种协议的抓包功能。FiddlerCore是Telerik公司提供的一个强大...

    详解nginx同一端口监听多个域名和同时监听http与https

    在进行网站部署和维护时,我们经常会遇到需要一个端口监听多个域名,以及同时监听HTTP和HTTPS协议的情况。针对这两个需求,本文将详细介绍如何在Nginx中实现。 首先,关于同一端口监听多个域名。这是一个非常实用的...

    Spring Boot实现Undertow服务器同时支持HTTP2、HTTPS的方法

    在本文中,我们将讨论如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议。首先,我们需要了解什么是HTTP2和HTTPS,以及它们的优点和缺点,然后我们将学习如何使用Spring Boot实现Undertow服务器同时支持HTTP2和...

    基于Qt开发的轻量级HTTP和HTTPS服务器(期末大作业&课设&项目开发)

    基于Qt开发的轻量级HTTP和HTTPS服务器,适合期末大作业、课程设计、项目开发。项目源码已经过严格测试,可以放心下载使用~ 基于Qt开发的轻量级HTTP和HTTPS服务器,适合期末大作业、课程设计、项目开发。项目源码...

    http和https的区别详解.zip

    HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是互联网上应用最广泛的两种通信协议,它们在数据传输、安全性...而对于开发者来说,理解和掌握HTTP和HTTPS的区别,能够帮助他们更好地构建和维护安全的网络服务。

    pb9 通过http、https协议post

    标题中的“pb9 通过http、https协议post”指的是使用Protocol Buffers(PB)版本9通过HTTP和HTTPS协议进行POST请求。Protocol Buffers是Google开发的一种数据序列化协议,它提供了一种高效、灵活的方式来定义数据...

    http和https的区别?.md

    http和https的区别? HTTP和HTTPS的主要区别体现在安全性、资源消耗、端口、加密机制、证书及成本等方面。 1. 安全性:HTTP协议是明文传输协议,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器...

    HTTP和HTTPS有什么区别?

    以下是HTTP和HTTPS之间的主要区别: 1. **安全性**: - **HTTP**:是明文传输,不提供任何加密,数据在传输过程中可能被截获和篡改。 - **HTTPS**:在HTTP的基础上通过SSL/TLS协议增加了加密层,使得传输的数据...

    使用socket post 数据到http和https

    本篇文章将深入探讨如何使用Socket来发送POST数据到HTTP和HTTPS服务器。Socket提供了低级别的网络访问,允许开发者直接与TCP/IP协议栈进行交互,从而实现自定义的网络通信协议。 首先,我们来理解HTTP和HTTPS的基本...

    http和https的区别以及https使用到的安全技术.docx

    总结,HTTP和HTTPS的主要区别在于安全性。HTTP是一个基础的、明文传输的协议,而HTTPS则是HTTP的安全增强版本,通过SSL/TLS协议提供了数据加密、服务器身份验证和数据完整性保护。在现代互联网中,HTTPS已经成为保护...

    http和https协议1

    HTTP和HTTPS协议是互联网上两种常见的通信协议,用于在客户端(如浏览器)和服务器之间交换数据。HTTP(超文本传输协议)是最初设计用来传输HTML文档的协议,它基于TCP/IP协议,工作在应用层,主要特点是无状态,即...

    bcb做的http和https下载程序

    用C++ builder 做的支持http和https下载的示例程序。支持代理,支持http,支持单向和双向https,支持老版本的操作系统,也支持最新的windows7。最完整,最全面的http和https下载程序。有兴趣的朋友可以看一下。

    java代码中抓取http和https

    windows系统上的http和https抓包工具, fiddler是http https监控工具 如果要监控java程序,需要添加如下代码: System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort", "8888...

    基于boost.asio库的C++http/https web server

    在这个项目中,我们看到一个使用Boost.ASIO实现的Web服务器,它同时支持HTTP和HTTPS协议,这对于创建安全的Web服务至关重要。 首先,我们需要理解Boost.ASIO库的核心概念。ASIO代表Asynchronous Service Input/...

    Nginx正向代理http和https.md

    ### Nginx正向代理http和https #### 1. 环境介绍 - **操作系统**:CentOS Linux release 7.6.1810 (Core) - **Nginx版本**:nginx/1.18.0 - **网络结构**: - **服务器A**:部署在DMZ区域,IP地址为192.168.252....

    java http 和 https请求

    压缩包里包含http和https两种请求,第一个文件是http请求包含post和get两种方式,剩下的是https的请求,最后一个文件里包含https的post和get两种方式。中间的两个是post 和 get 分开写的,按照需要引用吧

Global site tag (gtag.js) - Google Analytics