HTTP与HTTPS的区别
介绍
- HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。
- HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。
- HTTPS 和 HTTP 有很大的不同在于 HTTPS 是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。
http与https的区别
1.http明文传输,数据都是未加密的,安全性较差,https(ssl+http)数据传输过程是加密的,安全性较好。
2.使用https需要到CA(Certificate Authority,数字证书认证机构)申请证书。
3.http页面相应速度比https快,主要是因为http使用TCP三次握手建立连接,客户端和服务器需要交换3个包,而HTTPS除了TCP的3个包,还要加上ssl握手需要的9个包,一共是12个包。
4.http与https的端口不一样,http的端口是80,https的端口是443。
5.https其实就是构建在ssl/tls之上的http协议,所以要比http更耗费服务器资源。
TCP三次握手
- 第一次握手:客户端尝试连接服务器,向服务器发送 syn 包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入 SYN_SEND 状态等待服务器确认
- 第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个 SYN包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态
- 第三次握手:第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手
其他HTTP的内容请参考链接: