计算机网络 - HTTP&HTTPS的区别

SSL层从而具有了保护保护交互隐私以及完整性,还有提供对网站服务器身份认证的功能,简单说就是安全版的HTTP 

SSL(Sucurity Sockets Layer安全套接层)

为网络通信提供安全及数据完整性的一种安全协议

是操作系统对外的API ,SSL3.0 更名为 TLS

如何保证网络安全数据完整性呢?

采用了身份验证和数据加密保证网络通信的安全和数据的完整性。

加密方式

一、对称加密 -- 加密和解密都使用同一个密钥。容易泄露

二、非对称加密 --- 加密使用的密钥和解密使用的密钥是不相同的 (公钥私钥)性能过低

三、哈希算法 --- 将任意长度的信息转化成固定长度的值,算法不可逆 常见如 MD5

四、数字签名 --- 证明某个信息或者文件是某个人发出的/认同的

HTTPS数据传输流程

浏览器将支持的加密算法信息发送给服务器

服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器

浏览器验证证书的合法性,并结合证书公钥加密信息发送给服务器

服务器使用私钥解密信息,,验证哈希,加密响应消息回发给浏览器

浏览器解密响应消息,并对消息进行验证,之后进行加密交互数据

HTTPS 与 HTTP的区别

HTTPS 需要到CA申请证书,HTTP不需要

HTTPS 是密文传输,HTTP 是明文传输

连接方式不同,HTTPS 默认443端口 HTTP 默认80 端口

HTTPS = HTTP + 加密 + 认证 + 完整性保护 ,较 HTTP 安全

从HTTP 转化到 HTTPS 真的安全吗?

那倒未必

浏览器默认填充http:// 有被劫持的风险

网站管理员通常用301 302 跳转到https,可以使用HSTS优化,不过正在推行中,并未称为主流,面试里面很少会问到。

猜你喜欢

转载自blog.csdn.net/xinbumi/article/details/89598616