http和https协议议与http协议相比的优缺点有哪些

HTTPS协议要比HTTP多用多少服务器资源?
稿源:知乎网
近日,百度宣布全站开启HTTPS加密搜索。据官方表示,为解决&中间者&对用户隐私的嗅探和劫持等问题,百度将对传统HTTP通道添加SSL安全套接层,将所有百度搜索请求全部变成加密状态。
实际上,一些国际网站,比如维基百科,在启用HTTPS前先会考虑自己计算能力是否可以承载HTTPS。那么问题来了,HTTPS要比HTTP多用多少服务器资源?
以下为知乎网友牟旭东的观点:
HTTPS其实就是建构在SSL/TLS之上的 HTTP协议,所以要比较HTTPS比HTTP多用多少服务器资源,主要看SSL/TLS本身消耗多少服务器资源。
HTTP使用TCP 三次握手建立连接,客户端和服务器需要交换3个包,HTTPS除了 TCP 的三个包,还要加上 ssl握手需要的9个包,所以一共是12个包。HTTP 建立连接,按照下面链接中针对Computer Science House的测试,是114毫秒;HTTPS建立连接,耗费436毫秒。ssl 部分花费322毫秒,包括网络延时和ssl 本身加解密的开销(服务器根据客户端的信息确定是否需要生成新的主密钥;服务器回复该主密钥,并返回给客户端一个用主密钥认证的信息;服务器向客户端请求数字签名和公开密钥)。
SSL handshake latency and HTTPS optimizations. :: semicomplete.com
当SSL 连接建立后,之后的加密方式就变成了3DES等对于 CPU 负荷较轻的对称加密方式。相对前面 SSL 建立连接时的非对称加密方式,对称加密方式对 CPU 的负荷基本可以忽略不记,所以问题就来了,如果频繁的重建 ssl 的session,对于服务器性能的影响将会是致命的,尽管打开HTTPS 保活可以缓解单个连接的性能问题,但是对于并发访问用户数极多的大型网站,基于负荷分担的独立的SSL termination proxy就显得必不可少了,Web 服务放在SSL termination proxy之后。SSL termination proxy既可以是基于硬件的,譬如F5;也可以是基于软件的,譬如维基百科用到的就是 Nginx。
那采用 HTTPS 后,到底会多用多少服务器资源,2010年1月 Gmail切换到完全使用 HTTPS, 前端处理 SSL 机器的CPU 负荷增加不超过1%,每个连接的内存消耗少于20KB,网络流量增加少于2%。由于 Gmail 应该是使用N台服务器分布式处理,所以CPU 负荷的数据并不具有太多的参考意义,每个连接内存消耗和网络流量数据有参考意义。这篇文章中还列出了单核每秒大概处理1500次握手(针对1024-bit 的 RSA),这个数据很有参考意义,具体信息来源的英文网址:ImperialViolet。
Heartbleed这个被称作史上最大的网络安全漏洞,想必很多人都有所耳闻,Heartbleed之所以能够出现,其实和我们这个问题关系还不小,前面我们谈到了频繁重建 SSL/TLS的session对于服务器影响是致命的,所以聪明的RFC 在2012年提出了 RFC6520 TLS 的心跳扩展。这个协议本身是简单和完美的,通过在客户端和服务器之间来回发送心跳的请求和应答,保活 TLS session,减少重建 TLS的session的性能开销。令人遗憾的是,openssl 在实现这个心跳扩展时,犯了一个低级的错误,没有对收到的心跳请求进行长度检查,直接根据心跳请求长度拷贝数据区,导致简单的心跳应答中可能包含了服务器端的核心数据区内容,用户名,密码,信用卡信息,甚至服务器的私有密钥都有可能泄露。心因为心跳保活的这个 BUG 在滴血,这个名字起的极度形象。
下面开始讲一个无聊的故事,和问题关系不大,时间紧张的看官可以到此为止了。
从前山上有座庙,庙里有个和尚......,别胡闹了,老和尚来了。
小和尚问老和尚:ssl为什么会让HTTP安全?
老和尚答道:譬如你我都有一个同样的密码,我发信给你时用这个密码加密,你收到我发的信,用这个密码解密,就能知道我信的内容,其他的闲杂人等,就算偷偷拿到了信,由于不知道这个密码,也只能望信兴叹,这个密码就叫做对称密码。ssl使用对称密码对HTTP内容进行加解密,所以让HTTP安全了,常用的加解密算法主要有3DES和AES等。
小和尚摸摸脑袋问老和尚:师傅,如果我们两人选择&和尚&作为密码,再创造一个和尚算法,我们俩之间的通信不就高枕无忧了?
老和尚当头给了小和尚一戒尺:那我要给山下的小花写情书,还得用&和尚&这个密码不成?想了想又给了小和尚一戒尺:虽然我们是和尚,不是码农,也不能自己造轮子,当初一堆牛人码农造出了Wifi的安全算法WEP,后来发现是一绣花枕头,在安全界传为笑谈;况且小花只知道3DES和AES,哪知道和尚算法?
小和尚问到:那师傅何解?
老和尚:我和小花只要知道每封信的密码,就可以读到对方加密的信件,关键是我们互相之间怎么知道这个对称密码。你说,我要是将密码写封信给她,信被别人偷了,那大家不都知道我们的密码了,也就能够读懂我们情书了。不过还是有解的,这里我用到了江湖中秘传的非对称密码。我现在手头有两个密码,一个叫&公钥&,一个叫&私钥&,公钥发布到了江湖上,好多人都知道,私钥嘛,江湖上只有我一个人知道;这两个密钥有数学相关性,就是说用公钥加密的信件,可以用私钥解开,但是用公钥却解不开。公钥小花是知道的,她每次给我写信,都要我的公钥加密她的对称密码,单独写一张密码纸,然后用她的对称密码加密她的信件,这样我用我的私钥可以解出这个对称密码,再用这个对称密码来解密她的信件。
老和尚顿了顿:可惜她用的对称密码老是&和尚为什么写情书&这一类,所以我每次解开密码纸时总是怅然若失,其实我钟意的对称密码是诸如&风花&&雪月&什么的,最头痛的是,我还不得不用&和尚为什么写情书&这个密码来加密我给小花回的情书,人世间最痛苦的事莫过于如此。可我哪里知道,其实有人比我更痛苦。山下的张屠夫,暗恋小花很多年,看着我们鸿雁传书,心中很不是滋味,主动毛遂自荐代替香客给我们送信。在他第一次给小花送信时,就给了小花他自己的公钥,谎称是我公钥刚刚更新了,小花信以为真,之后的信件对称密码都用张屠夫的这个公钥加密了,张屠夫拿到回信后,用他自己的私钥解开了小花的对称密码,然后用这个对称密码,不仅能够看到了小花信件的所有内容,还能使用这个密码伪造小花给我写信,同时还能用他的私钥加密给小花的信件。渐渐我发现信件变味了,尽管心生疑惑,但是没有确切的证据,一次我写信问小花第一次使用的对称密码,回信中&和尚为什么写情书&赫然在列,于是我的疑惑稍稍减轻。直到有一次去拜会嵩山少林寺老方丈才顿悟,原来由于我的公钥没有火印,任何人都可以伪造一份公钥宣称是我的,这样这个人即能读到别人写给我的信,也能伪造别人给我写信,同样也能读到我的回信,也能伪造我给别人的回信,这种邪门武功江湖上称之&Man-in-the-middle attack&。唯一的破解就是使用嵩山少林寺的火印,这个火印可有讲究了,需要将我的公钥及个人在江湖地位提交给18罗汉委员会,他们会根据我的这些信息使用委员会私钥进行数字签名,签名的信息凸现在火印上,有火印的公钥真实性在江湖上无人质疑,要知道18罗汉可是无人敢得罪的。
小和尚问:那然后呢?
老和尚:从嵩山少林寺回山上寺庙时,我将有火印的公钥亲自给小花送去,可是之后再也没有收到小花的来信。过了一年才知道,其实小花还是给我写过信的,当时信确实是用有火印的公钥加密,张屠夫拿到信后,由于不知道我的私钥,解不开小花的密码信,所以一怒之下将信件全部烧毁了。也由于张屠夫无法知道小花的对称密码而无法回信,小花发出几封信后石沉大海,也心生疑惑,到处打听我的近况。这下张屠夫急了,他使用我发布的公钥,仿照小花的语气,给我发来一封信。拿到信时我就觉得奇怪,信纸上怎么有一股猪油的味道,结尾竟然还关切的询问我的私钥。情知有诈,我思量无论如何要找到办法让我知道来的信是否真是小花所写。后来竟然让我想到了办法....
老和尚摸着光头说:这头发可不是白掉的,我托香客给小花带话,我一切安好,希望她也拥有属于自己的一段幸福,不对,是一对非对称密钥。小花委托小镇美女协会给小花公钥打上火印后,托香客给我送来,这样小花在每次给我写信时,都会在密码纸上贴上一朵小牡丹,牡丹上写上用她自己的私钥加密过的给我的留言,这样我收到自称是小花的信后,我会先抽出密码纸,取下小牡丹,使用小花的公钥解密这段留言,如果解不出来,我会直接将整封信连同密码纸一起扔掉,因为这封信一定不是小花写的,如果能够解出来,这封信才能确信来之于小花,我才仔细的解码阅读。
小和尚:难怪听说张屠夫是被活活气死的。您这情书整的,我头都大了,我长大后,有想法直接扯着嗓子对山下喊,也省的这么些麻烦。不过我倒是明白了楼上的话,ssl 握手阶段,就是要解决什么看火印,读牡丹,解密码纸,确实够麻烦的,所以性能瓶颈在这里,一旦双方都知道了对称密码,之后就是行云流水的解码读信阶段了,相对轻松很多。
延伸阅读:
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)https协议相比与http协议的优点有哪些?
https协议相比与http协议的优点有哪些?
https协议是ssl证书加上http协议构建的可进行加密传输、身份认证的网络协议。
一、在安全方面上:
https是在现在网络技术中,最安全的网络传输协议。https协议是由ssl+http协议构建的、比http更安全的网络协议。可以认证用户和服务器,确保数据发送到正确的客户手里,并在传输过程中防止数据的窃取、改变,保证了数据的完整性。但是并不是说https协议就是一点都不受到攻击,只是说如果有人攻击你的网站付出的成本更高。
综上所述:https协议在安全方面比http协议,更能够保护网站的安全。
二、在搜索引擎方面:
在搜索引擎中,https协议的网站站点更能够得到搜索引擎的扶持,就拿百度搜索引擎对于https的的站点进行了平台支持、抓取支持、展现支持、其他相关支持等。平台支持就是百度站长平台已经可以完美支持https协议的网站的验证,并且准备了相应的数据提交接口,第一时间进行https网站进行数据接收;抓取支持就是百度站长对于https的网站都进行了升级服务,相比于http的网站协议跟有优先抓取的机会;展现支持就是百度站长平台对于https的站点进行一定程度的优先展示;其他相关支持就是百度站长平台就是对https的网站有更多的支持,像百度云加速和百度云存储等。
综上所述:https协议在搜索引擎中更有优势,反正早晚都需要改造,趁早不趁晚。
三、网站的获利方面:
https协议更安全后,对网站的评价会相对高一些,对网站的落地页面体验也能更加优质。这样的网站用户体验效果更好。
综上所述:网站https更能增加用户的体验效果。
http和https
经过我这么说,是不是感觉ssl证书的安装是有一定的必要的。你的网站是不是还没有ssl证书呢?可以到SSL证书商城(http://ssl.idcspy.net/)选择让合适自己的SSL证书。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点FTP协议与HTTP协议的区别_百度知道
FTP协议与HTTP协议的区别
我有更好的答案
使用Web浏览器时,这两个协议之间的差异几乎不会对使用的方便性及下载时间产生影响。不过,两者却拥有各自不同的结构。 HTTP是一种为了将位于全球各个地方的Web服务器中的内容发送给不特定多数用户而制订的协议。也就是说,可以把HTTP看作是旨在向不特定多数的用户“发放”文件的协议。 HTTP使用于从服务器读取Web页面内容。Web浏览器下载Web服务器中的HTML文件及图像文件等,并临时保存在个人电脑硬盘及内存中以供显示。 使用HTTP下载软件等内容时的不同之处只是在于是否以Web浏览器显示的方式保存,还是以不显示的方式保存而已。结构则完全相同。因此,只要指定文件,任何人都可以进行下载。 另一方面,FTP是为了在特定主机之间“传输”文件而开发的协议。因此,在FTP通信的起始阶段,必须运行通过用户ID和密码确认通信对方的认证程序。 FTP下载和HTTP下载的区别之一就在与此。 不过,访问下载站点并进行FTP下载时,一般情况下不会出现输入用户ID及密码的窗口。这是因为使用了Anonymous FTP的结构。 所谓Anonymous FTP是指将用户名作为“Anonymous”(匿名之意)、将密码作为用户的邮件地址注册FTP服务器的方法。Web浏览器首先在用户名中输入Anonymous、并在密码中输入设定在自身的邮件地址来访问FTP服务器。 在下载站点的FTP服务器中,如果用户名是Anonymous,那么任何人都可以进行访问,用户无需一一输入用户名和密码也可以进行访问
ftp:文件传输协议 http:超文本传输协议 FTP也是基于C/S模式而设计的。在进行FTP操作的时候,即需要客户应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户应用程序,在远程服务器中执行FTP服务器应用程序,这样,就可以通过FTP客户应用程序和FTP进行连接。连接成功后,可以进行各种操作。在FTP中,客户机只提出请求各接收服务,服务器只接收请求和执行服务。 在利用FTP进行文件传输之前,用户必须先连入INTERNET网中,在用户自己的计算机上启动FTP用户应用程序,并且利用FTP应用程序和远程服务器建立连接,激活远程服务器上的FTP服务器程序。准备就绪后,用户首先向FTP服务器提出文件传输申请,FTP服务器找到用户所申请的文件后,利用TCP/IP将文件的副本传送到用户的计算机上,用户的FTP程序再将接收到的文件写入自己的硬盘。文件传输完后,用户计算机与服务器计算机的连接自动断开。 与其他的C/S模式不同的是,FTP协议的客户机与服务器之间需要建立双重连接:一个是控制连接,另一个是数据连接。这样,在建立连接时就需要占用两个通信信道。 HTTP超文本传输协议,HTTP是用来在WWW上交换文件(文本,图形,声音,动画等)的规则集。相对于TCP/IP协议族(它是网上交换信息的基础),HTTP是应用协议。ftp的协议和http协议的主要区别在于ftp是需要用户名和密码才能访问(匿名登陆除外),这样做的目的在于有的文件只供特殊人访问,而http协议是任何人都可以访问的。ftp在浏览器的地址栏中的格式是: ftp://用户名:密码@网站地址/文件目录/ 如果直接输入ftp.网站地址 则会弹出一个登陆界面,需要输入用户名和密码,这种方式通常称为webftp,从字面上理解很容易明白,看起来是浏览器访问,实际上打开的是以文件夹的形式的存放目录。 目前常用ftp软件cuteftp,flashftp等来访问,方便管理
本回答被网友采纳
为您推荐:
其他类似问题
ftp协议的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。为什么 HTTP 有时候比 HTTPS 好? - 技术翻译 - 开源中国社区
为什么 HTTP 有时候比 HTTPS 好?
【已翻译100%】
英文原文:
推荐于 3年前 (共 17 段, 翻译完成于 04-07)
参与翻译&(6人)&: ,
做为一家安全公司,我们在站点上经常被开发者问到的是有关安全方面最优做法的问题。其中一个被经常问到的问题是:
我是否应当在站点上运行HTTPS?
很不幸,查遍整个因特网,你大多数情况下会得到同样的建议:加密所有的东西!对所有站点进行SSL加密等等!然而,现实情况表明这通常不是一个好的建议。
许多情况下使用HTTP比使用HTTPS要好很多。事实上,HTTP是一个在性能上和可用性上比HTTPS更好的一种协议,这也就是我们经常推荐客户使用HTTP的原因。下面我们说一说我们的理由......
&翻译得不错哦!
使用 HTTPS 会出现的问题
HTTPS 是一个错漏百出的协议. 此协议及其现今流行的实现中许许多多众所周知的问题使得它不适用于许多各种各样的web服务。
HTTPS 十分缓慢
应用 HTTPS 的主要阻碍之一就是 HTTPS 协议十分缓慢的这一事实。
就其特性而言,HTTPS 就是在两端之间进行安全的加密通信。这需要两端都持续耗费宝贵的CPU时间周期:
一开始说“hello”就决定使用哪种类型的加密方式&(暗号方案套件)
验证SSL证书
为每一个请求的验证以及对请求/回应的验证核实,运行加密代码
&翻译得不错哦!
而这听起来不是特别形象,其实就是加密代码运行的是CPU密集型的操作。它会重度使用浮点运算的CPU寄存器,会征用你的CPU从而使得请求的处理变慢。
这里有一个内容十分丰富的 ServerFault 线程,展示了在使用代用 Apache2 的一个 Ubuntu 服务器时,相比之下的处理速度你所能预计会有多大的降低:。
如下是结果:
即使是像上面所展示的一个非常简单的示例,HTTPS也能将你的Web服务器的速度拖慢超过40倍! 这可拖了web性能很大的后腿.
在今天的环境中, 将你的应用程序作为 REST API 的一个组成部分来构建是很普遍的&— 使用 HTTPS 确实是会拖慢你的网站、影响你的应用程序性能并给你的服务器CPU带来不必要的冲击的一种方式,而且通常会惹恼你的用户。
对于许多对速度敏感的应用程序而言,使用原始的 HTTP 常常要好很多。
&翻译得不错哦!
HTTPS 不是一个放之四海而皆准的安全保障
许多人都会抱有 HTTPS 会让他们的站点更安全,这样一种印象。这其实不是真的。
HTTPS 只是对你和服务器之间的流量进行了加密&— 一旦HTTPS信息的传输中断了,一切就又都是一场公平的游戏。
这意味着如果你的计算机已经感染的了恶意软件,或者你已经被受到欺骗运行了某些恶意软件 — 这个世界上所有的HTTPS对于你而言也都无能为力了。
此外,如果 HTTPS 服务器上存在任何的漏洞,某些攻击者就能够简单的等到 HTTPS 已经处理结束,然后再在其它的层(例如 web 服务这一层)抓取到不管什么数据。
&翻译得不错哦!
SSL 证书本身也经常被滥用。比如,其在浏览器上的处理方式就很容易发生错误:
每种浏览器(Mozilla,google 等)都是独立审计并核准根证书提供商来保证他们安全地处理SSL证书
一旦核准通过,这些根 SSL 证书就会被添加到浏览器的可信证书列表,这意味任何由根证书提供商签名的证书都是默认可信的。
这些提供商因此可随意乱搞,导致各类安全问题频发,比如2011年发生的事件。
以上种种,著名证书授权机构错误地签名了大量的伪造和欺诈的证书,直接损害数以万计的Mozilla用户的安全。
而 HTTP 并没有提供任何形式的加密服务,至少你知道你正在处理什么东西。
&翻译得不错哦!
HTTPS流量很容易被监听
如果你正在构建一个需要被不安全的设备(比如移动 app)使用的 web 服务,你可能觉得因为你的服务运行于 HTTPS 上,通信就不会被监听了。
如果真这么想的话,你就错了。
其他人可以轻松地在电脑上设置代理来截获并查看HTTPS流量,也就越过了SSL证书检查,这就直接泄漏了你的私人信息。
就演示了移动设备上的 https 消息监听。
你觉得没多大事?别做梦了!就连Uber这种大公司的移动应用都被逆向了,它们也用了 HTTPS。如果你灰心了,我劝你还是别看了。
好了,接受现实吧,不管你怎么做,攻击者都能用这样或那样的方法来监听你的网络流量。与其把时间浪费在修复 SSL 的问题上,还不如花点时间想想如何明智地使用 HTTP 吧。
&翻译得不错哦!
HTTPS 有漏洞
大家都知道 HTTPS 并不是铁板一块。多年来 HTTPS 被曝出了不少漏洞:
以后的攻击会越来越多。再加上 NSA 为了解密,正不遗余力地收集着 SSL 流量——使用 HTTPS 似乎一点用处都没有,因为不定什么时候你的 HTTPS 流量就会被一览无余。
&翻译得不错哦!
HTTPS 太贵
最后要说的一点是 HTTPS 太贵了。你需要从根证书颁发机构购买浏览器和客户端能够识别的 SSL 证书。
SSL 证书年费从几美刀到几千不等——如果你正在构建基于多个微服务(multiple microservices)的分布式应用,你需要买的证书可不只一个。
对于小项目或预算紧张的人来说成本一下子就抬高了不少。
&翻译得不错哦!
为什么 HTTP 是一个不错的选择
在另一方面,让我们稍稍不那么消极片刻,而是专注于积极的东西 : 是什么使得HTTP很棒的。大多数开发者并不欣赏它的好处。
正确条件下的安全
当然HTTP本身没有提供任何安全性,通过正确的设置你的基础设施和网络,你可以避免几乎所有的安全问题。
首先,对于所有的你可能会用到的内部HTTP服务, 要确保你的网络是私有的,不能从公共的外部环境嗅探到数据包. 这意味着你将可能徐昂要将你的HTTP服务部署在一个像Amazon EC2这样的非常安全的网络里面.
通过在 EC2 部署公共的云服务器,就能保证你拥有一流的网络安全, 防止任何其他的AWS用户嗅探到你的网络流量.
&翻译得不错哦!
使用 HTTP 的不安全性来扩展
人们过多的关注于 HTTP 缺乏安全和加密特点的时候,许多人没有想到的是,这种协议可以提供很好的扩展性。
大部分现代的Web应用程序通过队列来扩展。
你有一个Web服务器接受请求,然后用处在相同网络上的服务器集群运行单独的jobs来处理更多的CPU和内存密集型任务。
为了处理任务的排队,人们通常使用一个诸如
这样的系统。两个都是不错的选择,但是否可以除了你的网络外不使用任何基础设施组件而获得任务队列的好处呢?
使用HTTP,你可以!
它是这样工作的:
建立Web服务器和所有处理服务器共享子网的一个网络。
让你的处理服务器侦听网络上的所有数据包,和被动嗅探网络流量。
当Web服务器收到HTTP流量,那些处理服务器可以简单地读取进来的请求(纯文本,因为HTTP不加密),并立即开始处理工作!
上述系统的工作原理就像一个分布式队列,快速,高效,简单。
使用 HTTPS,上述情况是不可能的,但是,通过使用 HTTP,可以大大加快您的应用程序同时去除(不必要的)基础设施--这是一个大的胜利。
&翻译得不错哦!
我们的翻译工作遵照 ,如果我们的工作有侵犯到您的权益,请及时联系我们}

我要回帖

更多关于 http和https优缺点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信