首页
学习
活动
专区
圈层
工具
发布

Comet技术详解:基于HTTP长连接的Web端实时通信技术前言学习交流概述“服务器推”(Comet技术)的应用范围来看看更传统的基于客户端套接口的“服务器推”技术基于 HTTP 长连接的“服务器

2] 客户与服务器端通信的信息格式,采取怎样的出错处理机制。 3] 客户端是否需要支持不同类型的浏览器如 IE、Firefox,是否需要同时支持 Windows 和 Linux 平台。...最近几年,因为 AJAX 技术的普及,以及把 IFrame 嵌在“htmlfile“的 ActiveX 组件中可以解决 IE 的加载显示问题,一些受欢迎的应用如 meebo,gmail+gtalk 在实现中使用了这些新技术...使用 iframe 请求一个长连接有一个很明显的不足之处:IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。...HTTP 1.1 对两个长连接的限制,会对使用了长连接的 Web 应用带来如下现象:在客户端如果打开超过两个的 IE 窗口去访问同一个使用了长连接的 Web 服务器,第三个 IE 窗口的 HTTP 请求被前两个窗口的长连接阻塞...在实现上: 服务器端在阻塞读时会设置一个时限,超时后阻塞读调用会返回,同时发给客户端没有新数据到达的心跳信息。

6.8K11

乱码问题分析

注意,“春节”这两个字此时 属于查询字符串,不属于网址路径,不要与情况1混淆。 查看HTTP请求的头信息,会发现IE将“春节”转化成了一个乱码。...4、Ajax调用的URL包含汉字 前面三种情况都是由浏览器发出HTTP请求,最后一种情况则是由Javascript生成HTTP请求,也就是Ajax调用。...还是根据吕瑞麟老师的 文章,在这种情况下,IE和Firefox的处理方式完全不一样。 举例来说,有这样两行代码:   url = url + “?...也就是说,在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是 采用utf-8编码。这就是我们的结论4。 我们使用表格来做个比较。...在前后端交互的时候怎么避免这个问题,就是前端先对发送请求进行编码,然后再向服务器提交,服务器获取前端的编码方式进行解码,不要给浏览器插手的机会。

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Comet:基于 HTTP 长连接的“服务器推”技术

    客户与服务器端通信的信息格式,采取怎样的出错处理机制。 客户端是否需要支持不同类型的浏览器如 IE、Firefox,是否需要同时支持 Windows 和 Linux 平台。...最近几年,因为 AJAX 技术的普及,以及把 IFrame 嵌在“htmlfile“的 ActiveX 组件中可以解决 IE 的加载显示问题,一些受欢迎的应用如 meebo,gmail+gtalk 在实现中使用了这些新技术...基于 AJAX 的长轮询(long-polling)方式 如 图 1 所示,AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出 HTTP 请求,JavaScript...使用 iframe 请求一个长连接有一个很明显的不足之处:IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。...HTTP 1.1 对两个长连接的限制,会对使用了长连接的 Web 应用带来如下现象:在客户端如果打开超过两个的 IE 窗口去访问同一个使用了长连接的 Web 服务器,第三个 IE 窗口的 HTTP 请求被前两个窗口的长连接阻塞

    3.3K30

    Comet:基于 HTTP 长连接的“服务器推”技术

    最近几年,因为 AJAX 技术的普及,以及把 IFrame 嵌在“htmlfile“的 ActiveX 组件中可以解决 IE 的加载显示问题,一些受欢迎的应用如 meebo,gmail+gtalk 在实现中使用了这些新技术...基于 AJAX 的长轮询(long-polling)方式 如 图 1 所示,AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出 HTTP 请求,JavaScript...使用 iframe 请求一个长连接有一个很明显的不足之处:IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。...HTTP 1.1 对两个长连接的限制,会对使用了长连接的 Web 应用带来如下现象:在客户端如果打开超过两个的 IE 窗口去访问同一个使用了长连接的 Web 服务器,第三个 IE 窗口的 HTTP 请求被前两个窗口的长连接阻塞...在实现上: 服务器端在阻塞读时会设置一个时限,超时后阻塞读调用会返回,同时发给客户端没有新数据到达的心跳信息。

    2.7K70

    axios + ajax 面试题总结

    原来作者是通过判断XMLHttpRequest和process这两个全局变量来判断程序的运行环境的,从而在不同的环境提供不同的http请求模块,实现客户端和服务端程序的兼容。...依赖于浏览器提供的XMLHttpRequest对象,这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。实现了在页面不刷新的情况下和服务器进行数据交互。...AJAX异步请求原理 浏览器把请求交给代理对象—XMLHttpRequest(绝大多数浏览器都内置了这个对象),由代理对象向服务器发起请求,接收、解析服务器响应的数据,并把数据更新到浏览器指定的控件上。...AJAX最大的特点是什么。 Ajax可以实现动态不刷新(局部刷新)就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...Firefox中通过newXMLHttpRequest()得到 介绍一下XMLHttpRequest对象的常用方法和属性 open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP

    2.9K30

    关于URL编码

    我会依次分析四种不同的情况,在每一种情况中,浏览器的URL编码方法都不一样。把它们的差异解释清楚之后,我再说如何用Javascript找到一个统一的编码方法。...注意,"春节"这两个字此时属于查询字符串,不属于网址路径,不要与情况1混淆。 查看HTTP请求的头信息,会发现IE将"春节"转化成了一个乱码。...五、情况4:Ajax调用的URL包含汉字 前面三种情况都是由浏览器发出HTTP请求,最后一种情况则是由Javascript生成HTTP请求,也就是Ajax调用。...还是根据吕瑞麟老师的文章,在这种情况下,IE和Firefox的处理方式完全不一样。 举例来说,有这样两行代码:   url = url + "?...也就是说,在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。这就是我们的结论4。

    2.3K30

    URL汉字编码

    我会依次分析四种不同的情况,在每一种情况中,浏览器的URL编码方法都不一样。把它们的差异解释清楚之后,我再说如何用Javascript找到一个统一的编码方法。...注意,“春节”这两个字此时属于查询字符串,不属于网址路径,不要与情况1混淆。 查看HTTP请求的头信息,会发现IE将“春节”转化成了一个乱码。...五、情况4:Ajax调用的URL包含汉字 前面三种情况都是由浏览器发出HTTP请求,最后一种情况则是由Javascript生成HTTP请求,也就是Ajax调用。...还是根据吕瑞麟老师的文章,在这种情况下,IE和Firefox的处理方式完全不一样。 举例来说,有这样两行代码:   url = url + "?...也就是说,在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。这就是我们的结论4。

    3.7K50

    经典的20道AJAX面试题

    Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript...在 Ajax应用中信息是如何在浏览器和服务器之间传递的 通过XML数据或者字符串 8、在浏览器端如何得到服务器端响应的XML数据。...XMLHttpRequest对象的responseXMl属性 9、 XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。...open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式。 第二个参数是请求页面的URL。

    2K10

    经典的20道AJAX

    Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript...XMLHttpRequest对象的responseXMl属性 9、 XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。...open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式。 第二个参数是请求页面的URL。...Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样

    2.3K70

    ajax 面试题_javascript面试题大全

    Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript...XMLHttpRequest对象的responseXMl属性 9、 XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。   ...open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求    方式可以为GET,POST或任何服务器所支持的您想调用的方式。  ...事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。 AJAX的应用使用支持以上技术的web浏览器作为运行平台。

    2K10

    Ajax面试题_世界十道经典面试题

    Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript...XMLHttpRequest对象的responseXMl属性 9、 XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。...open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式。 第二个参数是请求页面的URL。...(DirectWeb Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript

    4.1K20

    auto-comet服务器端向客户端的自动发送

    在这种情况下基于AJAX的Web应用迅速涌 起,吞噬着原有桌面系统的份额。...最近几年,因为 AJAX 技术的普及,以及把 IFrame 嵌在“htmlfile“的 ActiveX 组件中可以解决 IE 的加载显示问题,一些受欢迎的应用如 meebo,gmail+gtalk 在实现中使用了这些新技术...基于 AJAX 的长轮询(long-polling)方式   如 图 1 所示,AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出 HTTP 请求,JavaScript...因为这种方案基于 AJAX,具有以下一些优点:请求异步发出;无须安装插件;IE、Mozilla FireFox 都支持 AJAX。   ...使用 iframe 请求一个长连接有一个很明显的不足之处:IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。

    3.6K60

    前端面试ajax考点汇总_javascript常见面试题

    AJAX最大的特点是什么。 Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript...XMLHttpRequest对象的responseXMl属性 9、 XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。...open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式。第二个参数是请求页面的URL。...优点:可以使得页面不重载全部内容的情况下加载局部内容,降低数据传输量,避免用户不断刷新或者跳转页面,提高用户体验 缺点:对搜索引擎不友好;要实现ajax下的前后退功能成本较大;可能造成请求数的增加跨域问题限制

    5.5K30

    Ajax技术的优缺点

    Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。 3....属性 9, XMLHttpRequest对象在IE和Firefox中创建方式有没有不同?...(回答的越多越好) open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求方式,可以为GET,POST或任何服务器所支持的您想调用的方式。...这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式。 第二个参数是请求页面的URL。

    3.3K30

    Selenium修改HTTP请求头三种方式

    需要更改HTTP请求请求头 以下是测试工作中可能需要更改 HTTP 请求请求头的一些场景: 通过建立适当的 HTTP 请求头来测试控制、测试不同的版本。...然而,结果证明这是一个累人的过程,尤其是在测试用例需要频繁重新配置的情况下。 这就是浏览器 mob-proxy 库的用武之地。...让我们看看如何将浏览器 mob-proxy 与使用基本身份验证保护的示例网站一起使用。为了解决这个问题,我们可能会缩小两种可能的方法: 向所有请求添加授权请求头,没有条件或例外。...仅向满足特定条件的请求添加请求头。 尽管我们不会解决请求头管理问题,但我们仍将演示如何在浏览器 mob-proxy 授权工具集的帮助下解决授权问题。...使用 Firefox 扩展 下面分享如何使用适当的 Firefox 浏览器扩展来修改请求头请求。

    3K30

    前端开发中不可忽视的知识点汇总(二)

    如何将浮点数点左边的数每三位添加一个逗号,如12000000.11转化为『12,000,000.11』?...它的功能是把对应的字符串解析成JS代码并运行;应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。...401——请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 HTTP 401.1 - 未授权:登录失败   HTTP 401.2 - 未授权:服务器配置问题导致登录失败...、JS执行、JS API绑定等等; 详细版: 1、浏览器会开启一个线程来处理这个请求,对 URL 分析判断如果是 http 协议就按照 Web 方式来处理; 2、调用浏览器内核中的对应方法,比如 WebView...可以简单的把两者的区别看成photoshop与illustrator的区别。 2.从结构上说,Canvas没有图层的概念,所有的修改整个画布都要重新渲染,而SVG则可以对单独的标签进行修改。

    2.3K40

    Web端服务器推送技术

    将传统的方法迁移到Web上,首先考虑的是如何在功能有限的浏览器端接收、处理信息: 客户端如何接收、处理信息,是否需要使用套接口或是使用远程调用。...客户与服务器端通信的信息格式,采取怎样的出错处理机制。 客户端是否需要支持不同类型的浏览器如 IE、Firefox,是否需要同时支持 Windows 和 Linux 平台。...(3)iFrame-通过在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。.../message.php"></iframe (4)Ajax-AJAX 是浏览器技术发展的成果,通过在浏览器端发送异步请求,提高了单用户操作的响应性。...(5)AJAX 的长轮询(long-polling)方式-通过在HTTP的Response Header中设置KeepAlive参数可以让浏览器客户端和服务器保持较长的一段时间通信,与单纯使用AJAX

    2.2K30

    AJAX常见面试题(修订版)

    open():该方法创建http请求 第一个参数是指定提交方式(post、get) 第二个参数是指定要提交的地址是哪 第三个参数是指定是异步还是同步(true表示异步,false表示同步) 第四和第五参数在...(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象. (2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. (3)设置响应HTTP请求状态变化的函数. (4...)发送HTTP请求. (5)获取异步调用返回的数据. (6)使用JavaScript和DOM实现局部刷新. javascript¨K0K AJAX请求总共有多少种CALLBACK AJAX请求总共有多少种...onException XMLHttpRequest对象在IE和Firefox中创建方式有没有不同。...有,IE中通过new ActiveXObject()得到,Firefox中通过newXMLHttpRequest()得到 当然了,我们一般使用jquery封装好的ajax方法,那就没有那么麻烦了。

    1.1K20

    每个Java开发人员应该知道的五种RESTful客户端代码

    以下是每个Java开发人员应该知道的五种: 1.Curl Curl是一个基于Unix的实用程序,它使开发人员能够从命令行调用URL并生成有关REST响应结果的信息。...随着越来越多的Windows用户采用Git和GitHub,越来越多的开发人员可以立即使用curl命令。...将curl用作简单GET请求的RESTful Web服务客户端的语法是: $ curl -X GET --header "text:Easter" --header "language:fr" http...但这种奢侈程度并不是必需的。下面是一个如何在没有像Spring这样的框架的情况下访问RESTful Web服务的示例。...REST的Chrome扩展程序 如果您无法访问curl并且您不打算编写RESTful Web服务客户端代码,那么您始终可以选择安装将调用基于REST的服务的Chrome或Firefox扩展。

    3.3K30

    高频前端开发面试问题

    3.Firefox最多50个cookie 4.chrome和Safari没有做硬性限制 IE和Opera 会清理近期最少使用的cookie,Firefox会随机清理cookie。...6,寄生组合式继承 详情:JavaScript继承方式详解 ajax过程 (1)创建XMLHttpRequest对象,也就是创建一个异步调用对象...(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. (3)设置响应HTTP请求状态变化的函数. (4)发送HTTP请求. (5)获取异步调用返回的数据....400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。 401 Unauthorized 请求未授权。 403 Forbidden 禁止访问。...请求带宽:压缩文件,开启GZIP, 移动端性能优化 尽量使用css3动画,开启硬件加速。适当使用touch事件代替click事件。避免使用css3渐变阴影效果。

    1.8K10
    领券