`
jxjnice
  • 浏览: 19036 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

HTTPS的七个误解(译文)

阅读更多

原文网址:http://blog.httpwatch.com/2011/01/28/top-7-myths-about-https/

译者:阮一峰

误解七:HTTPS无法缓存

 

许多人以为,出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTTP头中使用特定命令,HTTPS是可以缓存的。

微软的IE项目经理Eric Lawrence写道:

"说来也许令人震惊,只要HTTP头允许这样做,所有版本的IE都缓存HTTPS内容。比如,如果头命令是Cache-Control: max-age=600,那么这个网页就将被IE缓存10分钟。IE的缓存策略,与是否使用HTTPS协议无关。(其他浏览器在这方面的行为不一致,取决于你使用的版本,所以这里不加以讨论。)"

Firefox默认只在内存中缓存HTTPS。但是,只要头命令中有Cache-Control: Public,缓存就会被写到硬盘上。下面的图片显示,Firefox的硬盘缓存中有HTTPS内容,头命令正是Cache-Control:Public。

误解六:SSL证书很贵

如果你在网上搜一下,就会发现很多便宜的SSL证书,大概10美元一年,这和一个.com域名的年费差不多。而且事实上,还能找到免费的SSL证书。

在效力上,便宜的证书当然会比大机构颁发的证书差一点,但是几乎所有的主流浏览器都接受这些证书。

误解五:HTTPS站点必须有独享的IP地址

由于IPv4将要分配完毕,所以很多人关心这个问题。每个IP地址只能安装一张SSL证书,这是毫无疑问的。但是,如果你使用子域名通配符SSL证书(wildcard SSL certificate,价格大约是每年125美元),就能在一个IP地址上部署多个HTTPS子域名。比如,https://www.httpwatch.com和https://store.httpwatch.com,就共享同一个IP地址。

另外,UCC(统一通信证书,Unified Communications Certificate)支持一张证书同时匹配多个站点,可以是完全不同的域名。SNI(服务器名称指示,Server Name Indication)允许一个IP地址上多个域名安装多张证书。服务器端,Apache和Nginx支持该技术,IIS不支持;客户端,IE 7+、Firefox 2.0+、Chrome 6+、Safari 2.1+和Opera 8.0+支持。

误解四:转移服务器时要购买新证书

部署SSL证书,需要这样几步:

  1. 在你的服务器上,生成一个CSR文件(SSL证书请求文件,SSL Certificate Signing Request)。

  2. 使用CSR文件,购买SSL证书。

  3. 安装SSL证书。

这些步骤都经过精心设计,保证传输的安全,防止有人截取或非法获得证书。结果就是,你在第二步得到的证书不能用在另一台服务器上。如果你需要这样做,就必须以其他格式输出证书。

比如,IIS的做法是生成一个可以转移的.pfx文件,并加以密码保护。

将这个文件传入其他服务器,将可以继续使用原来的SSL证书了。

误解三:HTTPS太慢

使用HTTPS不会使你的网站变得更快(实际上有可能,请看下文),但是有一些技巧可以大大减少额外开销。

首先,只要压缩文本内容,就会降低解码耗用的CPU资源。不过,对于当代CPU来说,这点开销不值一提。

其次,建立HTTPS连接,要求额外的TCP往返,因此会新增一些发送和接收的字节。但是,从下图可以看到,新增的字节是很少的。

第一次打开网页的时候,HTTPS协议会比HTTP协议慢一点,这是因为读取和验证SSL证书的时间。下面是一张HTTP网页打开时间的瀑布图。

同一张网页使用HTTPS协议之后,打开时间变长了。

建立连接的部分,大约慢了10%。但是,一旦有效的HTTPS连接建立起来,再刷新网页,两种协议几乎没有区别。先是HTTP协议的刷新表现:

然后是HTTPS协议:

某些用户可能发现,HTTPS比HTTP更快一点。这会发生在一些大公司的内部局域网,因为通常情况下,公司的网关会截取并分析所有的网络通信。但是,当它遇到HTTPS连接时,它就只能直接放行,因为HTTPS无法被解读。正是因为少了这个解读的过程,所以HTTPS变得比较快。

误解二:有了HTTPS,Cookie和查询字符串就安全了

虽然无法直接从HTTPS数据中读取Cookie和查询字符串,但是你仍然需要使它们的值变得难以预测。

比如,曾经有一家英国银行,直接使用顺序排列的数值表示session id:

黑客可以先注册一个账户,找到这个cookie,看到这个值的表示方法。然后,改动cookie,从而劫持其他人的session id。至于查询字符串,也可以通过类似方式泄漏。

误解一:只有注册登录页,才需要HTTPS

这种想法很普遍。人们觉得,HTTPS可以保护用户的密码,此外就不需要了。Firefox浏览器新插件Firesheep,证明了这种想法是错的。我们可以看到,在Twitter和Facebook上,劫持其他人的session是非常容易的。

咖啡馆的免费WiFi,就是一个很理想的劫持环境,因为两个原因:

  1. 这种WiFi通常不会加密,所以很容易监控所有流量。

  2. WiFi通常使用NAT进行外网和内网的地址转换,所有内网客户端都共享一个外网地址。这意味着,被劫持的session,看上去很像来自原来的登录者。

以Twitter为例,它的登录页使用了HTTPS,但是登录以后,其他页面就变成了HTTP。这时,它的cookie里的session值就暴露了。

也就是说,这些cookie是在HTTPS环境下建立的,但是却在HTTP环境下传输。如果有人劫持到这些cookie,那他就能以你的身份在Twitter上发言了。

(完)

文档信息

分享到:
评论
1 楼 forcer521 2011-11-07  
好文,讲得很详细啊!

相关推荐

    毕业论文外文参考资料及译文格式-论文.zip

    译文应清晰地传达作者的观点,避免因翻译误差导致误解。 此外,参考文献的格式是学术写作的重要组成部分。常见的格式有APA(美国心理学会)、MLA(现代语言协会)、Chicago、Harvard等,每种都有其特定的引用规则。...

    《道德经》全文及译文.pdf

    历代学者和普通人往往根据自己的价值观和理解能力来解读老子的思想,因此很容易产生误解。实际上,《道德经》中的许多思想,如“有无相生”、“柔弱胜刚强”等,都具有深刻的现代意义,对现代人的生活和思考依然具有...

    计算机专业英语 译文和课后答案

    译文不仅提供了词汇的对应翻译,还可能包含了技术性的解释,帮助读者准确把握专业术语的含义,避免在阅读英文文档或与国际同行交流时产生误解。例如,译文中可能会详细解析如“algorithm”(算法)、“compiler”...

    全新版大学英语综合教程练习答案及课文译文

    1. 预习:在正式学习新单元前,学生可以先预览课文译文,对内容有个大致了解,然后尝试完成练习,最后对照答案进行校对。 2. 复习:学完一单元后,再次回顾练习答案和译文,巩固所学知识,查漏补缺。 3. 分析讨论:...

    Android开发毕业论文外文翻译原文+译文

    通过译文,学生可以更准确地理解原文中提到的技术细节,避免因语言障碍而产生的误解。同时,译文还可以作为提高自身英文阅读能力的辅助材料,帮助读者在提升专业技能的同时,增强语言能力。 在Android应用架构设计...

    外文翻译(含原文、译文及出处) 适用于用Java做毕业设计的同学

    例如,如果你正在设计一个学生管理系统,可以创建一个`Student`类来代表学生,包含如`name`、`age`等属性和`study`、`graduate`等方法。通过继承,你可以创建`Undergraduate`和`Graduate`子类,它们具有`Student`类...

    计算机英语第二版译文及答案PDF

    译文部分确保了非英语母语的学习者能够准确理解原文的含义,避免了因语言障碍而产生的误解。答案部分则为读者提供了自我检测和学习巩固的机会,通过解答书中问题,可以检验对专业术语和概念的理解程度。 学习...

    小学成语的古文与译文.doc

    7. **掩耳盗铃**:这个成语源自一个想偷钟的人,他怕被发现,便捂住自己的耳朵,以为别人也听不到。它形象地描绘了自我欺骗的行为,告诉我们逃避现实并不能解决问题。 8. **囫囵吞枣**:故事中,一位呆弟子没有理解...

    特斯拉重要专利的部分译文

    项目中提到了几个关键的附录,包括附录1列出了实施项目所需的材料清单,附录2提供了项目的简要历史,而附录3则包含了对该项目中存在的一些误解进行解释的笔记。附录4专门介绍了埃里克·多拉德-斯卡莱解释的内容,...

    《丧家狗》译文、原文、翻译对照.doc

    《丧家狗》这篇文档包含了《陈涉世家》、《神思》以及《师说》等经典古文的原文和译文对照,旨在帮助读者更好地理解古代文学作品。以下是其中《师说》部分的重要知识点: 《师说》是唐代文学家韩愈的一篇散文,它...

    【刘禹锡说骥阅读试题及答案,(附译文翻译】浪淘沙 刘禹锡译文.docx

    刘禹锡通过这个故事阐述了一个道理:人才与物品的价值取决于他们所处的环境和被看待的方式,真正的价值并不总是显而易见的。 文章最后,刘禹锡引申到人的才能与品德,指出内在的美德和才能有时难以被外人察觉,就...

    [陈轸阅读试题及答案,陈轸翻译译文]陈轸者游说之士翻译.docx

    秦王质问陈轸,陈轸坦诚承认想去楚国,但他解释说自己的忠诚如果被秦王误解,那么在楚国也无法得到真正的重用,因为一个不忠于原主的人,楚王也不会认为他是忠臣。秦王认同他的观点,于是继续善待他。 陈轸在秦国待...

    Discussion Questions (译文).pdf

    从给定的信息中,我们可以提炼出三个主要的讨论主题,涉及跨文化交流、家庭关系与代际差异、以及媒体呈现与文化认同。以下是针对每个话题展开的深入分析。 ### 问题1:费伊与国际教师之间的友谊挑战 1. **国际教师...

    译文 _ 5个迹象表明你公司的安全文化是有害的(以及5种解决方法).pdf

    3. **明确规则和例外**:对使用特定工具或服务的规定要有清晰解释,避免因误解导致风险。 4. **提升透明度**:安全团队应公开信息,减少神秘感,让员工理解安全决策背后的逻辑。 5. **持续教育和反馈**:定期进行...

    素书译文~(白话直译)

    在《素书》的第一章中,作者提出了“道、德、仁、义、礼”五个核心概念,并阐述了它们对于做人和治理国家的重要性。 1. **道**:道是自然法则,人们在不自觉中遵循它,它指导万物运行。在人类社会中,道指的是顺应...

    外文翻译—Java(译文+英文).doc

    File类是Java中处理文件和目录的基础类,尽管其名称可能容易引起误解。File对象可以代表一个文件名或一个目录路径,并提供诸如创建、删除、重命名文件和目录的方法。它还包含用于列出目录内容的方法,如list(),可以...

    外研社版学术英语综合Unit8译文.doc

    教育应该鼓励开放的心态,减少因变化和误解产生的恐惧,促进和谐共存。在全球化的大潮中,教育的目标应是培养自主的个体,使他们具备适应多元文化环境的能力,而不只是追求标准化的测试成绩。 面对大规模人口迁移,...

    多模态人机交互综述(译文).docx

    然而,单纯增加模态并不一定带来更好的交互体验,关键在于合理地结合和利用各种模态,避免多模态接口的误解和错误。因此,设计有效的多模态接口需要深入理解用户的行为、认知过程和社会文化背景,同时结合先进的算法...

    外文翻译—Java(译文+英文).doc

    尽管其名称容易让人误解为与文件内容操作有关,但其实它主要处理文件路径和元数据信息。例如,`list()`方法可以用来获取目录中的文件名列表,而`list(FilenameFilter)`则允许通过实现`FilenameFilter`接口来过滤和...

Global site tag (gtag.js) - Google Analytics