目录
一、简介
HTTP:Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议;HTTP是基于TCP/IP通信协议来传递数据的。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,你也可以说:HTTPS = HTTP + SSL
二、 HTTP和HTTPS的区别:
1.HTTP默认端口为80,HTTPS默认端口为43;
2.HTTP不安全,HTTPS安全;(HTTPS=HTTP+加密+认证+完整性保护)
3.HTTP明文传输,HTTPS密文传输;
4.HTTP无需证书,HTTPS需要CA申请证书
5.HTTP的URL以http://开头,HTTPS的URL以https://开头
6.在OSI网络模型中,HTTP工作与应用层,而HTTPS工作在传输层
三、SSL是什么?
SSL(Security Sockets Layer)
1.为网络通信提供安全及数据完整性的一种安全协议
2.是操作系统对外的API,SSL3.0后更名为TLS
3.采用身份验证和数据加密保证网络通信的安全和数据的完整性
四、HTTPS数据传输流程
1.浏览器将支持的加密算法信息发送给服务器
2.服务器选择一套浏览器支持的加密算法,以证书的形式回发浏览器
3.浏览器验证证书合法性,并结合证书公钥加密信息发送给服务器
4.服务器使用私钥解密信息,验证哈希,加密响应消息回发浏览器
5.浏览器解密响应消息,并对消息进行验证,之后进行加密交互数据
五、HTTPS真的安全吗?
1.浏览器默认填充http://,请求需要进行跳转,有被劫持的风险
2.可以使用HSTS(HTTP Strict Transport Security)优化