HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全 超文本传输协议 ,它是一个安全通信通道,HTTPS经由 超文字传输协议(HTTP) 进行通信,但利用SSL/TLS來加密封包。HTTPS开发的主要目的,是提供对网路伺服器的身分认证,保护交换资料的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到网际网路上。简单来说它是HTTP+SLL/TSL安全版。
HTTP与HTTPS的比较
比较 | http | https |
---|---|---|
端口 | 80 | 443 |
协议 | 超文本传输协议(明文传输) | HTTP+SSL(SSL使用40位关键字作为RC4流加密算法) |
证书 | 需要到ca申请证书 |
我推荐一篇写的比较好的iOS中如果配置https请求的方式
我推荐一篇写的比较好的iOS中如果配置https请求的方式
我推荐一篇写的比较好的iOS中如果配置https请求的方式
接下来这3句话很重要
3. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程.
3. https所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥(钥匙串)
**接下来作为拓展可以不做了解
HTTPS 的实现
1.http协议,一个get(获取)一个response(返回). 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.过多的round trip(巡回) 肯定影响性能.
2.具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求.加密后数据量的影响. 所以,才会出现那么多的安全认证提示。
补充附录:
说道安全机制 不得不说说钥匙串(密钥=密码钥匙)
公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
通过算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。(比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功)
一把私有的钥匙,仅有用户才拥有。
一把公开的钥匙,可公开发行配送,只要有要求即取得。