【Java面试题】HTTP与 HTTPS 的区别

HTTP 与 HTTPS 的区别 :

主要体现在三个方面,分别是 信息传输安全证书和身份验证连接方式

信息传输安全:

HTTP 是超文本传输协议,HTTP下的信息是明文传输的,因此使用HTTP协议可能导致信息被截获或者第三方恶意篡改,这对于隐私信息是不安全的。

HTTPS协议是一种具有SSL的加密传输的协议(HTTPS是由SSL + HTTP 构建),通过SSL协议

对传输的内容进行加密,从而保证信息传输的安全性。

证书和身份验证:

HTTP协议不需要证书。

HTTPS需要向CA 申请证书,一般免费的证书比较少,所以需要一定的费用,同时,HTTPS协议不仅可以加密传输信息,还可以对身份进行认证,能够提供对网站服务器的认证,防止中间人攻击。

连接方式:

HTTP和HTTPS 使用的连接方式是完全不同的,用的端口也不一样,HTTP默认的端口是80,HTTPS默认的端口是443,HTTP的连接方式很简单,是无状态的。

HTTP的连接方式有以下两种:

1. 短连接 (非持续连接),指服务端对于来自客户端的每一个请求均建立一个连接,当服务端响应请求后就关闭连接,不为其他的请求而持续连接。

2. 长连接 (持续连接),指服务端响应请求后,不关闭连接,为之后的其他的请求保持连接状态,这种连接方式下,一个连接可以发送多个请求,一个请求完成后不会关闭连接,继续等待下一个请求连接。

HTTPS的连接方式:

当客户端向服务器发起请求时,服务器会将SSL证书发给客户端,客户端会对SSL证书进行验证,确认服务器身份的真实性。如果证书通过,则客户端和服务器之间会建立一个SSL/TLS 加密连接,所有数据的传输都会通过这个加密连接进行安全传输。

你可能感兴趣的:(Java面试题,http,https,网络协议)