HTTPS存在不同于HTTP的默认端口, HTTP默认端口是80或8080, HTTPS默认端口是443或者8443。

HTTPS有一个加密/身份验证层(在HTTP与TCP之间),这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯(数据传输)方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

HTTPS和HTTP的区别

Ø https协议需要到ca申请证书,一般免费证书很少,需要交费。

Ø http是超文本传输协议,信息是明文传输,https 则是具有安全性ssl加密传输协议。

Ø http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

Ø http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全.

HTTPS解决的问题

Ø 信任主机的问题

采用https的服务器必须从CA (Certificate Authority)申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。

Ø 通讯过程中的数据的泄密和被篡改

一般意义上的https,就是服务器有一个证书, 主要目的是保证服务器就是他声称的服务器,这个跟第一点一样。服务端客户端之间的所有通讯,都是加密的。少许对客户端有要求的情况下,会要求客户端也必须有一个证书,这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,还有一个CA 认证过的身份。因为个人证书一般来说是别人无法模拟的,所有这样能够更深的确认自己的身份(具体证书可能是拿U盘(即U盾)作为一个备份的载体)。

SSL协议可分为两层

Ø SSL记录协议(SSL Record Protocol)

它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

Ø SSL握手协议(SSL Handshake Protocol)

它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议提供的服务主要有哪些

Ø 认证用户和服务器,确保数据发送到正确的客户机和服务器

Ø 加密数据以防止数据中途被窃取

Ø 维护数据的完整性,确保数据在传输过程中不被改变。

工作过程:

服务器认证阶段:

1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;

2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥(存在于第三方)加密后传给服务器;

4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

客户端认证阶段:

经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。(服务器再用客户端的公钥解密)