http与socket和https的区别

1. http与socket的区别,两个协议哪个更高效一点?

创建socket连接时,可以指定使用的传输层协议,socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该socket连接就是一个TCP连接。socket连接一旦建立,通信双方即可开始相互发送数据内容, 直到双方连接断开。注意,同HTTP不同的是http只能基于tcp,socket不仅能走tcp,而且还能走udp,这个是socket的第一个特点。

HTTP连接使用的是“请求-响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务端才能回复数据。

很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步,此时若双方建立的是socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端。

Socket效率高,至少不用解析http报文头部一些字段。

2. HTTP与HTTPS的区别?

https更安全

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。http是超文本传输协议,信息是明文传输,没有加密,通过抓包工具可以分析其信息内容。

https需要申请证书

https协议需要到CA申请证书,一般免费证书很少,需要交费。而常见的http协议则没有这一项。

端口不同

http使用的是80端口,而https使用的是443端口。

所在层次不同

http协议运行在TCP之上,而https是运行在SSL/TLS之上的http协议,SSL/TLS运行在TCP之上。
————————————————
版权声明:本文为CSDN博主「DLGDark」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dlgdark/article/details/78177490

原文地址:https://www.cnblogs.com/zhoading/p/12321892.html