HTTPS是如何保证连接安全:每位Web开发者都应知道的

2013-08-14 09:00:47 +08:00
 Koder
“HTTPS协议的工作原理是什么?”这是我在数天前工作项目中需要解决的问题。

作为一名Web开发者,我当然知道 HTTPS 协议是保障用户敏感数据的好办法,但并不知道这种协议的内在工作机制。

它怎么保护数据?有人监听线路的情况下,服务器与客户端之间如何建立安全的连接?安全证书又是什么,为什么还要花钱买呢?

http://blog.jobbole.com/45530/
4320 次点击
所在节点    程序员
12 条回复
chenshaoju
2013-08-14 09:28:38 +08:00
其实也有免费的StartSSL,基础域名验证与通信加密。
Mutoo
2013-08-14 09:42:34 +08:00
可以看一下《经典密码学与现代密码学》这本有意思的书,可以略过算法描述,看看 alice、 bob 和 eve(中间人) 三个人之间的有趣故事~
http://zh.wikipedia.org/wiki/%E6%84%9B%E9%BA%97%E7%B5%B2%E8%88%87%E9%AE%91%E4%BC%AF

另外可以在维基百科上翻阅如下条目 HTTPS / RSA / 数字签名

另外推荐阮一峰这篇通俗易懂的日志,了解一下这个目前地球上最重要的加密算法。
http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
min
2013-08-14 10:19:18 +08:00
lz的post里面不是geekfan就是jobbole,刷存在么?
DreaMQ
2013-08-14 10:37:48 +08:00
最后一段不太对吧,我的几个测试站放在同一台vps(nginx)上,使用不同的StartSSL证书,都没问题
palxex
2013-08-14 11:10:18 +08:00
@chenshaoju startssl支持的域名貌似没有免费的?
Goodspeedwang
2013-08-14 11:32:39 +08:00
工作原理就是非对称加密。
buru
2013-08-14 11:38:06 +08:00
明显是个广告号,SEO?从v2ex导流量到jobbole
chenshaoju
2013-08-14 11:45:32 +08:00
@palxex 域名当然要钱,但是StartSSL域名证书是免费的。
jiji9081
2013-08-14 12:15:28 +08:00
@DreaMQ 最后一段是错误的,至少在现在看来。
启用SNI就可以在一个IP上部署多个HTTPS站点。缺点是部分老浏览器不支持,比如IE6。
ine181x
2013-08-14 15:28:37 +08:00
@DreaMQ @jiji9081 准确的说是 Windows XP 下的 IE 不支持 SNI 所以,用户即便是在 Windows XP 下使用 IE 8 也是会出错的。 Apache 可以在 443 端口 设置一个 default 配置,配置当收到不到 SNI 的域名信息时,就使用该配置的私钥解密。
likexian
2013-08-14 16:01:35 +08:00
开发区为什么要关心这个,扯蛋
feuvan
2013-08-14 17:04:39 +08:00
po 主 spammer,负分!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/79017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX