一种能够在服务器之间的分布网页应用中进行服务通信的系统,所述服务器在其它情况下由于与HTML5前相符的网页浏览器客户端中跨来源安全限制而不可访问。网页浏览器客户端执行从具有规定源来源的源来源服务器接收的客户端侧网页应用,并请求连接到标识的网页应用服务。仿效客户端库的执行在网页浏览器客户端与具有源来源的范围之外的目标来源的网关服务器之间建立双向的基于HTTP的通信连接,提供对请求标识的网页应用服务的访问。双向的基于HTTP的通信连接包括跨来源通信桥,其在源和目标来源之间提供安全的通信路径。网关服务器可以建立至由目标服务器提供的目标规定的服务的与HTML5相符的连接,该目标规定的服务与请求标识的网页应用服务具有预先规定的关系。
【技术实现步骤摘要】
【国外来华专利技术】专利说明图6是详细示出根据本专利技术的优选实施例的网页浏览器客户端应用的基于iframe的优选实施方式的框图。图7是示出根据本专利技术的优选实施例的、网页浏览器客户端应用在建立仿效的网页套接字的网络连接中的初始化和执行的序列图。图8A和图SB是示出根据本专利技术的优选实施例构造的网页浏览器客户端应用的优选封装的实施方式的框图。图9是示出根据本专利技术的优选实施例的、网页浏览器客户端封装的应用在建立仿效的网页套接字网络连接中的执行的序列图。图10是如在本专利技术的优选实施例中实施的网关服务器的优选实施方式的框图。图11是示出结合本专利技术的优选实施例使用的优选服务重定向(redirection)技术的流图。 图12提供了示出根据本专利技术的优选实施例的、在网页浏览器客户端与网关服务器之间建立仿效的网页套接字连接的优选过程的序列图。图13提供了示出根据本专利技术的优选实施例的、在网页浏览器客户端和网关服务器之间的仿效网页套接字连接的建立和维持中的代理服务器参与的处理的序列图。具体实施例方式本专利技术满足对实时、全双工通信能力的需求,该能力基本与可以用于访问网页服务的客户端网页浏览器的当前固有能力无关。在本专利技术的以下详细描述中,同样的附图标记用于表示一个或多个附图中描绘的同样部分。草拟HTML5规范(包括支持规范)定义了建议用于实施网页浏览器和基于HTTP的类似客户端应用的网页套接字和服务器发送的事件(SSE)的固有架构和操作特征。网页套接字和服务器发送的事件基于客户端应用能够使用全双工的直接TCP通信信道的假设。在关于本专利技术的应用10中,如图I中一般性地示出的,传统客户端系统12、14执行网页浏览器应用,以通过公共因特网、私有内部网或其它通信网络16访问一个或多个远程服务器系统18、20、22,以双向地请求和接收实时信息。在典型实例中,最初将通过由客户端系统12执行的网页浏览器客户端发出的信息请求指引到初级或源服务器18,并且建立实时双向信息馈送连接,如其它次级服务器20、22所需要的。例如,可以从源服务器18请求网页页面,其在所传送的页面的用户界面表示内的适当的指定的窗口区域内呈现来自新闻源服务器20的实时新闻故事、以及来自股票信息服务器22的股票价格信息。传统地,同与源服务器18协调的服务器20、22的实时双向的次级连接的透明建立取决于由客户端系统12、14执行的网页浏览器客户端中对网页套接字和服务器发送的事件的固有支持。缺少广泛的固有网页套接字和服务器发送的事件的支持,并进一步以跨所有主要的独立网页浏览器客户端实施方式兼容的方式,建立基于网页套接字的系统(商业的或其它的)是不实际的。根据本专利技术,提供网关服务来使得传统的与HTML5之前兼容的网页浏览器客户端的实施能够立即支持全面兼容的网页套接字和服务器发送的事件,甚至在特定的网页浏览器实施方式没有或仅具有HTML5标准的一些部分固有实施的情况下也是如此。此网关服务可以在现有的服务器18、20、22上实施,或者作为优选实施例,在独立的专用网关服务器系统上实施。在合适时,可以利用相符的固有特征实施,通常本质上是部分的。另外,本专利技术实施这样的仿效系统,其获得与HTML5规范相符的固有实施一致的功能上相符的系统。参照图2,网页套接字和服务器发送的事件的各个方面的有效仿效传统上被建立的安全和功能限制所排除,这些安全和功能限制内建在现有的传统标准相符的网页浏览器中,特别是不与草拟HTML5规范完全相符的那些。网页套接字的服务器发送的事件仿效的关键要求是透明地实施跨来源通信的能力。这样的通信传统上被现有标准指定的同一来源安全策略要求所排除。即,文档(尤其是包括从源来源服务器34传送到客户端系统32的网页页面)被限制为仅引用和请求同一来源范围内的某些资源。作为一般的定义,来源由传输协议、域和端口号定义。来源访问限制排除了跨站点脚本攻击,并更一般地阻止了来自不同来源的文档之间的无意交互。不幸的是,传统来源安全特征也阻止了具有不同源来源范围的页面之间的无害通信。传统上,例如从源来源服务器34提供的文档被阻止访问从不同来源中的任何目标服务器36、38提供的文档或服务,或与其交换数据。根据本专利技术,一般地如图3所示,根据本专利技术的优选实施例所构造的跨文档消息传输系统40选择性地允许客户端系统32所加载的文档安全地跨不同的来源互操作。为了当前说明的目的,将目标来源请求限定为从源来源服务器34接收的源来源文档所导致的资源请求,该资源请求针对由源来源服务器34的来源的范围之外的来源限定的服务器提供的文档或服务。如果指定的域、端口和传输协议中的任一个在源和目标来源之间不同,则来源范围不同且这些来源之间的请求是跨来源请求。根据本专利技术,来自于客户端系统32的目标来源请求被具体指引到网关服务器42,网关服务器42接着实施合适的服务,以实现与目标服务器36、38的通信。网关服务器42可以且通常在源来源服务器34的来源以及客户端系统32的来源的范围之外的来源中。如图4中更详细地表示的50,在客户端系统32上执行的网页浏览器客户端应用52向用户选择的源来源网页服务器34发出请求。评估后,源来源网页服务器34返回请求对应的网页页面文档54。优选地,网页页面文档54被预编码,以包括要检索的初始配置资源的标识。当网页浏览器客户端应用52遇到对象引用时,将初始配置资源请求发送给源来源网页服务器34,其返回对应的客户端库56。根据对象引用的资源的本质,可以返回一个或多个文件作为客户端库56的一部分。优选地,还利用初始目标引用预编码网页页面文档54,该初始目标引用用于识别所指定的代表源来源网页服务器34操作的网关服务器42。图5中将客户端库56的优选实施例一般地显示为分层的库栈70。共同地,客户端库56当在传统的与HTML5之前相符的网页浏览器应用52中执行时提供功能上与HTML5相符的网页套接字仿效。较低层的更基本的层位于分层库栈70的底部,较高层的功能逐渐地提供在较高层中。除图5中所示的层之外的附加层出现在传统的与HTML5之前相符的网页浏览器中。如果网页浏览器应用层插件(包括Adobe Flash、Microsoft Silverlight以及OracleJava)存在于网页浏览器执行环境中,则也可以使用它们。客户端库56的基层是传统的XmlHttpRequest(XHR)层72,其名义存在,而不需要在与HTML5前相符的网页浏览器中仿效。XmlHttpRequest层72提供应用编程接口(API),其使得HTTP和HTTPS请求能被直接发送给 指定的目标网页服务器系统。直接接收服务器响应,作为接着可通过API而被启动该请求的网页应用使用的数据。名义上,XmlHttpRequest的执行和完成被限制到单个来源。即,请求源和目标网页服务器系统必须存在于共同来源的范围内。提供postMessage层74,以通过提供可访问在客户端浏览器52的背景内执行的网页应用的附加API调用来支持仿效的跨来源消息传递。如在本专利技术的优选实施例中所实施的,postMessage层74管理传统网页浏览器的严格安全策略的实施,但安全地允许由单个基础网页页面文档定义的多个帧通信,即使对从不同的来源加载嵌入在这些窗口内的文档的情况也是如此。如果目标显式地本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:JR法罗斯,F萨利姆,DB冈斯,S埃拉亚,
申请(专利权)人:卡金公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。