HTTP:
HTTP是明文传输的协议,容易被抓包工具捕获信息,不安全,其端口号默认为80。
HTTPS:
HTTPS是基于对称加密和非对称加密的协议,其可以保证数据的安全传输和服务端的合法性。
具体实现流程是:服务端首先向CA机构申请其公钥的证书(公钥先被hash,再用CA的私钥签名),当客户端发起HTTPS请求时,服务端将证书和公钥一起返回给客户端,客户端收到后,首先用根CA验证CA的合法性,接着用CA的公钥解密证书,再根据同样的hash算法求服务端发过来的公钥的哈希值,通过对比确认没问题后,客户端生产密钥并用服务端的公钥签名后发回给服务端,服务端收到后,再用私钥解密。此后,两端就可以同个密钥传输数据了。
HTTPS协议是依赖SSL(安全套接字层)协议,其位于传输层之上,应用层之下。
TSL:传输安全层,是比SSL更安全的协议。