HTTPS(Hypertext Transfer Protocol Secure)是HTTP的安全版,在HTTP之上添加SSL/TLS层,进行加密传输和身份认证。
相对于HTTP,HTTPS协议有以下区别:
- HTTPS使用SSL/TLS进行加密传输,防止嗅探和窃取数据。HTTP传输是明文的,不安全。
- HTTPS使用证书进行身份认证,防止中间人攻击。HTTP没有身份认证机制。
- HTTPS的TCP连接在建立时进行SSL握手,会带来一定性能开销。HTTP连接简单快速。
- HTTPS默认使用TCP端口443,HTTP使用TCP端口80。
代码示例:
HTTPS请求示例:
GET https://www.example.com/ HTTP/1.1
Host: www.example.com
与服务器进行SSL握手,协商加密算法与协议,使用证书进行身份认证。最后建立加密通道进行数据传输。
HTTP请求示例:
GET http://www.example.com/ HTTP/1.1
Host: www.example.com
直接在TCP连接上明文传输数据,不进行加密和身份认证。