SSL/TLS协议和HTTPS
1. HTTP SSL/TLS以及HTTPS
1) HTTP(超文本传输协议),应用层传输协议,大部分网站通过HTTP传输WEB内容;
2) SSL (secure socket layer) 安全套接层,位于tcp/ip协议与各种应用层协议之间,利用数据加密技术,确保数据在网络上传输过程中中不会被截取及窃听。
SSL协议可分2层:
SSL记录协议:建立在tcp之上,为上层协议提供数据封装、压缩、加密等基本功能的支持;
SSL握手协议:建立在SSL记录协议之上,用于实际的数据传输开始前,通讯双飞进行身份认证、协商加密算法、叫唤加密密钥等。
TLS (transport layer security) 传输层安全协议,SSL的标准化,可以并称为SSL/TLS。
3) HTTPS 可以理解为HTTP协议和SSL/TLS协议的组合,及HTTPvoer SSL/TLS.
2. HTTP 和 TCP关系
TCP是HTTP的基础,TCP(下层)为HTTP(上层)提供服务。
3. HTTP如何使用TCP连接
2种方式:
1) 短连接:浏览器发起一个tcp连接,抓取到一个外部资源后,相应的tcp就断开;
2) 长连接:浏览器发起一个tcp连接,抓取到一个外部资源后,相应的tcp保持连接状态,浏览器分析HTML源码后,利用该tcp抓取发现的外部资源。
HTTP1.1默认长连接方式。
4. 对称加密&非对称加密
对称加密:加密和解密使用相同的密钥,加密方法:AES, DES等
非对称加密:加密和解密使用不同的密钥(公钥和私钥);加密方法:RSA, DH等
公钥和私钥必须配对使用。
5. 数字证书
数字证书是一个由权威中心签发的包含公钥拥有者信息以及公钥的文件。