HTTP
是基于TCP的短连接。需要经过三次握手建立连接,且无法保持始终连接。
HTTP连接,服务端无法主动发消息,采用的是'请求-响应'机制。有请求,才有响应。客户端没有发消息给服务端,服务端无法推送消息给客户端。
Socket
是长连接。基于TCP的Socket连接,一旦建立三次握手,除非一方主动断开,否则连接状态一直保存。也可以基于UDP进行Socket连接。Socket连接,一方可以随时向另一方发起会话。双方不需要时刻保持连接在线用HTTP。
eg : 客户端资源获取、上传文件等。即时通讯应用需要用Socket连接。