http与socket和https的区别

来源:互联网 发布:淘宝直播公司 编辑:程序博客网 时间:2024/05/20 06:23

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之上。

原创粉丝点击