http中长链接和websocket的长链接的区别

1、什么是http协议html

HTTP是一个应用层协议,无状态的,端口号为80。主要的版本有1.0/1.1/2.0.html5

  • HTTP/1.* 一次请求-响应,创建一个链接,用完关闭;
  • HTTP/1.1 串行化单线程处理,
    • 能够同时在同一个tcp连接上发送多个请求,
    • 可是只有响应是有顺序的,只有上一个请求完成后,下一个才能响应。
    • 一旦有任务处理超时等,后续任务只能被阻塞(线头阻塞);
  • HTTP/2 并行执行。某任务耗时严重,不会影响到任务正常执行

2、什么是websocketweb

  • Websocket是html5提出的一个协议规范,
    • 是为解决客户端与服务端实时通讯
  • 本质上是一个基于tcp,
    • 先经过HTTP/HTTPS协议发起一条特殊的http请求进行握手后
      • 建立一个用于交换数据的TCP链接。
  • WebSocket优点: 浏览器和服务器只须要要作一个握手的动做,
    • 在创建链接以后,双方能够在任意时刻,相互推送信息
    • 同时,服务器与客户端之间交换的头信息很小

3、什么是长链接、短链接浏览器

4、http和websocket的长链接区别服务器

  • HTTP1.1经过使用Connection:keep-alive进行长链接,
    • HTTP 1.1默认进行持久链接。
  • 在一次 TCP 链接中能够完成多个 HTTP 请求,
    • 可是对每一个请求仍然要单独发 header,
    • Keep-Alive不会永久保持链接,它有一个保持时间,
    • 能够在不一样的服务器软件(如Apache)中设定这个时间。
    • 这种长链接是一种“伪连接
  • websocket的长链接,
    • 是一个真的全双工。
    • 长链接第一次tcp链路创建以后,
    • 后续数据能够双方都进行发送,不须要发送请求头
  • keep-alive双方并无创建正真的链接会话,
    • 服务端能够在任何一次请求完成后关闭
    • WebSocket 它自己就规定了是正真的、双工的长链接,
      • 两边都必需要维持住链接的状态。
相关文章
相关标签/搜索