zoukankan      html  css  js  c++  java
  • websocket和ajax的区别(和http的区别)

    websocket和ajax的区别(和http的区别)

    https://segmentfault.com/a/1190000021741131

    1. 本质不同

    ajax,即异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术;
    webSocket是HTML5一种新的协议,实现了浏览器服务器全双工通信。其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,服务端与客户端通过此TCP连接进行实时通信。


    2. 生命周期不同
    websocket建立的是长连接,在一个会话中一直保持连接;而ajax是短连接,数据发送和接收完成后就会断开连接。


    3. 适用范围不同
    websocket一般用于前后端实时数据交互(例子:后端有状态更新后,及时告诉前端,而不用等前端发起请求);而ajax前后端非实时数据交互。


    4. 发起人不同
    ajax技术需要客户端发起请求(自己请求回来的数据用户自己看);而websocket服务器和客户端可以相互推送信息(用户A请求返回来的东西A用户可以看B用户也可以看;如果是属于公共的那大家都可以看)


    5. 用法不同
    ajax:

    $.ajax({
           type:"post",
           url:"http://localhost:8080/target",
           data:"state = yes",
           dataType:"json",
           success:funciont(data){
             ...
           }
    });

    websocket:

    var monitor = new WebSocket("ws://"+ip+path)
    onOpen()、onMessage()、onClose()



    WebSocket 和HTTP的区别及原理

    https://zhuanlan.zhihu.com/p/40381471

    http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。

    http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接。保持TCP连接不断开。客户端与服务器通信,必须要有客户端发起然后服务器返回结果。客户端是主动的,服务器是被动的。

    WebSocket他是为了解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮训问题而生的,他实现了多路复用,他是全双工通信在webSocket协议下客服端和浏览器可以同时发送信息

    建立了WebSocket之后服务器不必在浏览器发送request请求之后才能发送信息到浏览器。。而且信息当中不必在带有head的部分信息了与http的长链接通信来说,这种方式,不仅能降低服务器的压力。而且信息当中也减少了部分多余的信息

     

    有时叫做服务器"推"技术

    WEB消息提醒实现之二 实现方式-基于Iframe的流方式

    http://www.360doc.com/content/17/1225/17/16915_716184215.shtml 

    https://blog.csdn.net/qq_23412263/article/details/70260083

    聊一聊Web端的即时通讯

    初探WebSocket(有各种流程图)

    Web通信中传统轮询、长轮询和WebSocket简介

    https://zhuanlan.zhihu.com/p/25690011 

    WebSocket 教程 (by 阮一峰

  • 相关阅读:
    MySQL数据库 : 高级查询
    ElasticSearch : High Rest Api 使用
    Java : JavaWeb和Tomcat相关
    Linux : Ubuntu 安装 RabbitMQ
    Spring : Spring Security
    Java : logback简单配置
    Spring : JPA的单独使用
    Java : Netty 入门案例
    python__PIP : 安装第三方库
    好文章收藏(持续更新)
  • 原文地址:https://www.cnblogs.com/wxdlut/p/15711121.html
Copyright © 2011-2022 走看看