http和websocket

http(应用层协议)

  • http1.0最大的问题,传送一次资源建立一次http连接。三次握手和四次挥手带来的性能消耗。
  • HTTP1.1:长连接,一次http请求,发送多次http资源。
  • HTTP2.0:解决了连接的1对1,一个连接可以有多个请求。
  • 局限性:只能由客户端联系服务端,客户端不联系服务端,服务端就不会主动给客户端发送。

webscocket(html5)

  • 完成一次握手,建立持久连接。进行双向传输。
  • 解决问题:服务端有消息可以主动发送给客户端。
  • websocket和http都是应用层协议。
  • 和HTTP相同的端口:默认为80,https为443。
  • 缺点:利用率可能不高。

http和websocket的区别

相同点:

  • 都是应用层的协议
  • 都是基于tcp,都是可靠协议

不同点:

  • websocket是持久化的连接,http不是(keep-alive是有时间限制的)
  • websocket是双向的,而http是单向的。
  • websocket服务端可以主动发送给客户端,http不能。

长连接和短连接

  1. 短连接:在HTTP1.0中,客户端发送请求,服务器接收请求,双方建立连接,服务器响应资源,请求结束。
  2. 长连接:在HTTP 1.1,客户端发出请求,服务端接收请求,双方建立连接,在服务端没有返回之前保持连接,当客户端再发送请求时,它会使用同一个连接。这一直继续到客户端或服务器端认为会话已经结束,其中一方中断连接。
  • 优势:减少了连接请求,降低TCP阻塞,减少了延迟,实时性较好。
  • 劣势:可能会影响性能,因为它在文件被请求之后还保持了不必要的连接很长时间。

websocket和ajax的区别

  1. Ajax:异步xml和JavaScript。是一种创建交互网页的的技术
    websocket:基于HTML5的新技术,实现了浏览器和服务器全双工、持久的连接。
  2. Ajax:短连接,数据发送和接收完成就结束。
    websocket:长连接,会话一直保持
  3. ajax适合非实时性,websocket适合实时性连接。
  4. ajax由客户端发起,socket谁发起都可以。
  5. 最重要的是ajax要不断去轮询询问服务端,看有没有新的服务端信息。

websocket可以代替ajax吗?
分情况

  1. 部分浏览器可能不支持
  2. 交互不频繁的没有必要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值