1.http和tcp的区别
http是建立在tcp之上的应用层协议,而tcp是传输层建立的协议
HTTP/1.* 一次请求-响应,建立一个连接,用完关闭;
HTTP/1.1 串行化单线程处理,可以同时在同一个tcp链接上发送多个请求,但是只有响应是有顺序的,只有上一个请求完成后,下一个才能响应。一旦有任务处理超时等,后续任务只能被阻塞(线头阻塞);
HTTP/2 并行执行。某任务耗时严重,不会影响到任务正常执行
先通过tcp三次握手建立连接,然后通过http传输数据
http是对数据的规范
2.websocket和http的区别
websocket是http的升级,实现了真正的长连接,全双工通信
Websocket是html5提出的一个协议规范,是为解决客户端与服务端实时通信。本质上是一个基于tcp,先通过HTTP/HTTPS协议发起一条特殊的http请求进行握手后创建一个用于交换数据的TCP连接。
WebSocket优势: 浏览器和服务器只需要要做一个握手的动作,在建立连接之后,双方可以在任意时刻,相互推送信息。同时,服务器与客户端之间交换的头信息很小。