http与socket和https的区别

Posted zhoading

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于http与socket和https的区别的主要内容,如果未能解决你的问题,请参考以下文章

http和socket通信的区别

Java之Socket与HTTP区别

WebSocket 和socket 的区别

webrtc和websocket的区别

http和socket之长连接和短连接区别

socket,tcp,http三者之间的区别和原理