平码五不中公式规律
  • / 27

用于基于HTTP的应用的网络浏览器策略.pdf

关 键 ?#21097;?/dt>
用于 基于 HTTP 应用 网络 浏览器 策略
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201480080496.6

申请日:

2014.07.09

公开号:

CN106663083A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 17/00申请日:20140709|||公开
IPC分类号: G06F17/00; G06F9/44 主分类号: G06F17/00
申请人: 惠普发展公司,有限责任合伙企业
发明人: C·J·格雷厄姆; 华咏梅
地址: 美国德克萨斯州
优?#28909;ǎ?/td>
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 王洪斌;张涛
PDF完整版?#30053;兀?/td> PDF?#30053;?/a>
法律状态
申请(专利)号:

CN201480080496.6

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

在一个示例中,一种使用客户端的网络浏览器来实施在服务器上执行的基于HTTP的应用的预定义管理策略的方法。该方法包括用策略初始化浏览器,该策略包括用于由应用呈现给客户端的网页的文档对象模型(DOM)的至少一个操作和与该操作相关联的元素。该方法还包括用浏览器检测DOM的元素的文档改变事件。该方法还包括:如果文档改变事件是针对策略中的元素的,则执行操作。

权利要求书

1.一种客户端计算机,包括:
网络浏览器,用于再?#25191;?#22806;部服务器上执行的基于HTTP的应用接收的网页的文档对象
模型(DOM);
触发引擎,用于检测所述DOM的元素的改变事件;
策略管理器,用于接收预定义策略,所述预定义策略指定与改变事件相关联的操作和
所述元素,所述操作不同于再现所述DOM;以及
策略引擎,耦合到所述触发引擎和所述策略管理器,并且在所述网络浏览器内执行以
响应于所述改变事件而执行所述操作。
2.权利要求1的计算机,其中所述浏览器包括再现引擎,用于在客户端计算机的显示器
上再现DOM,并且其中所述策略引擎被独立于再现引擎而执行。
3.权利要求1的计算机,其中所述策略管理器从外部策略服务器获得所述策略,并且用
所获得的策略配置所述策略引擎。
4.权利要求1的计算机,其中所述操作使所述策略引擎根据所述策略修改所述DOM。
5.权利要求1的计算机,其中所述改变事件响应于由所述服务器计算机处的所述基于
HTTP的应用或由所述客户端计算机处的用户采取的动作。
6.一种使用客户端的网络浏览器实施用于在服务器上执行的基于HTTP的应用的预定
义管理策略的方法,包括:
用所述策略初始化所述浏览器,所述策略包括用于由所述应用呈现给所述客户端的网
页的文档对象模型(DOM)的至少一个操作和与所述操作相关联的元素;
用所述浏览器检测所述DOM的元素的文档改变事件;和
如果文档改变事件是针对策略中的元素,则执行操作。
7.权利要求6所述的方法,其中所述操作针对所述DOM的元素修改存在、属性、特性或数
据值中的至少一个,并且其中所述操作被在所述浏览器内执行。
8.权利要求6所述的方法,其中所述应用和所述服务器不知?#28010;?#36848;策略和操作。
9.权利要求6所述的方法,其中该操作不包括在客户端上再现DOM,并?#20918;?#29420;立于在客
户端上再现DOM执行。
10.权利要求6所述的方法,其中如果所述元素可见,则执行所述操作。
11.权利要求6所述的方法,其中所述策略是策略的数据集中的单个策略,并且其中所
述数据集中的每个策略指定所述策略施加到基于HTTP的应用、所述策略施加到的应用的网
页中的第一DOM元素、用于第二DOM元素的操作和用于第一DOM元素的条件,所述条件如果被
满足,则使得所述操作对第二DOM元素执行。
12.权利要求11所述的方法,其中所述第一和第二DOM元素是相同的元素。
13.权利要求11所述的方法,所述第一和第二DOM元素是不同的元素。
14.一种其上存储有可执行程序的非暂时性计算机可读存储介?#21097;?#20854;中所述程序指示
处理器去:
将用于在服务器上执行的应用的预定义管理策略和策略引擎插件安装到网络浏览器
中;
通过HTTP在网络浏览器中加载和再现由应用提供的网页的文档对象模型(DOM);
利用所述浏览器检测针对所述DOM的可见元素的文档改变事件;和
响应于所述事件,执行由策略针对所述元素定义的操作。
15.权利要求14所述的介?#21097;?#20854;中所述操作对与所述浏览器之外的所述文档改变事件
相关的信息进行日志记录。

说明书

用于基于HTTP的应用的网络浏览器策略

背景

能够由客户端计算机的网络浏览器的用户经由超文本传输协议(HTTP)或安全超
文本传输协议(HTTPS)浏览的许多网站是在服务器计算机上主控的基于网络的应用。这些
应用经由网络浏览器显?#31471;?#20204;的用户界面,并且没有安装在客户端计算机上。应用?#35272;?#24212;
用服务器而不是客户端来实现应用的特征,并且在把服务器上的数据传输到客户端之前管
理对数据的访问。一旦特征已经被显露,并且数据通过连接被传输到客户端,客户端就没有
访?#23454;?#26469;控制特征或数据。对于客户端处的用户输入的数据也同样是如此。即使客户端计
算机的管理员希望限制或约束对这些特征和数据中的某些的访?#21097;?#29992;户也能够访问应用的
所有显露的特征和所有数据。

附图说明

图1是根据本公开的示例的、包括具有网络浏览器的客户端计算机的系统的示意
性框图,所述网络浏览器具有策略控制特征。

图2是根据本公开的示例的、包括具有网络浏览器的客户端计算机的系统的另一
示意性框图,所述网络浏览器具有策略控制特征。

图3是根据本公开的示例的、图2的客户端计算机的架构的示意性框图。

图4是根据本公开的示例的、用于使用客户端计算机的网络浏览器实施用于在服
务器计算机上执行的基于HTTP的应用的预定义管理策略的方法的流程图。

图5是根据本公开的示例的用于使用客户端计算机的网络浏览器实施用于在服务
器计算机上执行的基于HTTP的应用的预定义管理策略的方法的另一流程图。

图6A至6C是根据本公开的示例的客户端计算机的窗口显示的示例,该客户端计算
机执行使用客户端计算机的网络浏览器来实施用于在服务器计算机上执行的基于HTTP的
应用的预定义管理策略的方法。

具体实施方式

基于网络的应用(也称为“应用”)的部署的显着增加已经为管理应用级策略(诸如
像涉及防止敏感数据泄漏的那些策略)形成了重大?#20064;?#22522;于网络的应用(也称为“基于浏
览器”或“被主控”的应用)驻留在万维网上的一个或多个服务器计算机上,并且响应于从客
户端计算机提供的输入由万维网上的一个或多个服务器执行,所述客户端计算机通过网络
通信地耦合到所述应用。应用可以驻留在单个服务器计算机上并由其主控,或者部分可以
在不同服务器上主控的多个网站/网页之间分割或共享,诸如像在其内容中包括从另一应
用?#24230;肓说?#22270;的商?#30340;?#24405;应用。基于网络的应用通过网络浏览器客户端显?#31471;?#20204;的用户界
面,并且没有安装在用户的客户端计算机上。客户端计算机通过将网络浏览器引导到应用
的统一资源定位符(URL)来耦合到应用;示例包括facebook.com,linkedin.com,
salesforce.com和许多其他。在这样的应用中,业务逻辑在服务器处而不是在客户端处运
行。应用?#35272;?#24212;用服务器而不是客户端来在数据传输到客户端之前对数据施加策略控制的
访问。基于网络的应用可以通过身份管理方案提供对它们的数据和/或功能的访问控制点。
这种类型的访问能够基于用户、角色、位置、访问设备和/或网络连接。然而,这一方案从应
用服务器而不是从客户端控制数据流动和功能访问。一旦通过HTTP/HTTPS连接使得功能能
够被客户端访问和/或数据被发送到客户端,客户端就没有控制点来实施管理策略,所述管
理策略旨在确保数据或功能不被以与这些策略相反的方式不?#23454;?#22320;访问或操作。

本公开的一个核心概念是提供一种机构和框架,用于使用客户端的网络浏览器来
实施用于在服务器上执行的基于网络的应用的预定义管理策略。在一个示例中,这些策略
可以包括指定将能够如?#26410;?#21360;数据、操纵数据、存储数据或复制数据到客户端上的其他应
用。在一个示例中,所述策略可以替代地或附加地包括指定应用的功能或特征是否、何时、
和/或如何可以被用户在客户端上交互。当用计算机实现时,结果是对计算机功能的显着增
强,使得预定义的管理策略能够以有利和有益的方式在客户端上在它与这样的基于网络的
应用的交互中实施。

现在参考附图,示出了系统、客户端计算机、方法和计算机可读存储介质的示例,
这些示例响应于与基于网络的应用相关联的预定义事件的发生而在客户端计算机上执行
预定义操作,以实现和实施预定义的管理策略。

现在考虑这样的系统,并?#20063;?#32771;图1,系统100包括经由通信链路105通信地耦合到
客户端计算机130的服务器计算机110。服务器110主控和执行基于网络的应用120。在一些
示例中,基于网络的应用120是基于HTTP的应用。如本文和所附权利要求中所定义的,“基于
HTTP的应用”可以?#36824;?#27867;地理解为包括基于网络的应用,其中执行应用的服务器和访问应
用的客户端之间的通信通过超文本传输协议(HTTP)或超文本传输协议安全(HTTPS)执行。
应用120产生至少一个网页125,所述网页125通过链路105传送到客户端130。网页125是标
记语言(诸如HTML(超文本标记语言),XHTML(可扩展超文本标记语言)和/或XML(可扩展标
记语言)的元素或对象的文档。不同的网页或特定网页的不同内容可以按照应用的执行所
修改的或者响应于客户端130的用户与应用120的交互不时地从服务器110传送到客户端
130。

客户端130包括接收网页125的网络浏览器140。接收的网页作为网页125的文档对
象模型150存储在浏览器140中。如本文和所附权利要求中所定义的,“文档对象模型”(或
“DOM”)可以?#36824;?#27867;地理解为意思指用于表示HTML,XHTML和XML文档(例如网页)的对象并与
之交互的惯例(convention)。网络浏览器140再现所接收的网页的DOM 150以供客户端130
的用户观看和交互。

网络浏览器140包括触发引擎160,用以检测DOM 150的元素152的改变事件162。如
本文和所附权利要求中所定义的,“DOM元素”可以?#36824;?#33539;地理解为意思指根据DOM模型表示
的HTML或XHTML文档(例如网页)的元素或XML文档的节点。也如本文和所附权利要求中所定
义的,DOM元素的“改变事件”(或“文档改变事件”)可以?#36824;?#33539;地理解为意味着对元素的存
在的改变,对元素的特性或属性的改变,或对元素的数据值的改变。对元素存在的改变包括
元素被添加到DOM或从DOM移除。对元素的特性、属性或数据值的改变将改变现有元素的一
个方面。文档加载事件可以是由触发引擎160检测到的多个不同类型的事件中的一个。

DOM元素152的特性可以包括定义元素将如何由网络浏览器140再现的一个或多个
视觉特性157;在一个示例中,可?#28304;?#22312;字体大小、颜色、背景外观等的视觉特性。DOM元素
152的属性可以包括均定义元素的特性的一个或多个标签(或特性)。这样的标签可以特别
包括标?#23545;?#32032;的类型的类标签154;ID标签155,它可以帮助定位元素;以及动作标签156,它
指定网络浏览器140响应于元素被选择而要采取的动作。选择可以以各种方式发生,包括但
不限于改变焦点至,鼠标悬停,点击,?#19968;?#25110;触摸。在一个示例中,元素的数据值158可以是
元素的文本串或数值。

如本文和所附权利要求中所定义的,“修改”DOM元素可以?#36824;?#27867;地理解为意味着
改变元素的存在、特性、属性和/或数据值中的至少一个。

网络浏览器140还包括策略引擎170。如本文和所附权利要求中所定义的,“策略引
擎”(或“策略控制钩?#21360;?可以?#36824;?#20041;地理解为客户端计算机上用于在与基于网络的应用的
交互期间实施预定义策略的机构。策略引擎170在网络浏览器140的上下文之内执行。策略
引擎170耦合到触发引擎160,并对来?#28304;?#21457;引擎160的针对事件162的检测信号164作出响
应。检测信号164识别与改变事件162相关联的DOM元素,并且描述改变事件162。响应于检测
信号164,策略引擎170执行对于与改变事件162相关联的DOM元素可能存在的任何预定义策
略。在在一个示例中,如果检测信号164针对与DOM元素152相关联的事件162,则在对DOM元
素152存在的任何策略中指定的操作将由策略引擎170执行。可以在策略中规定宽范围的操
作,包括对DOM的一个或多个元素(其可以包括或者可以不包括发生了改变事件162的DOM元
素152)的修改以及至少部分地在网络浏览器140之外执行的动作,诸如对与事件相关的信
息进行日志记录,或者控制对与网络浏览器140外部的应用120相关的数据的复制、打印或
保存。由策略引擎170执行的操作不同于浏览器140对DOM的再现也并且独立于浏览器140对
DOM的再现。在不同的示例中,由策略引擎执行的操作可以与DOM的再现异步或与DOM的再现
同步。注意,策略引擎170不是脚本(例如,java脚本(iavascript)),并?#20063;?#26159;网页的一部
分。

客户端计算机130还包括策略管理器190。策略管理器190接收预定义策略192,预
定义策略192指定不同于再现DOM 150且与改变事件162相关联的操作和DOM元素152。在本
文和所附权利要求中定义的,“策略”可以?#36824;?#27867;地理解为包括可用于实现对基于网络的应
用的功能或数据的访问或使用的(在客户端计算机上实施的)限制的数据结构。策略管理器
190?#32440;?#31574;略192提供给策略引擎170,并且引擎170可以用策略192来初始化或配置。多个策
略192可以编组在一起成为策略数据集。

服务器110和应用120可能不知道策略192以及策略引擎170执行的操作。因此,给
定的应用120能够被多个客户端130上的多个浏览器140交互,多个浏览器140均实现不同的
策略192。另外,在不打断应用120的情况下,对应用120的功能和数据的访问可以用策略192
约束。换句话说,应用120的不受约束的功能和数据将继续在客户端130上正常地操作。

在一些示例中,客户端计算机可以是瘦客户端。如本文和所附权利要求中所定义
的,“瘦客户端”可以?#36824;?#27867;地理解为包括具有预定义的一组应用程序并?#20063;?#33021;向其添加或
移除应用程序的客户端计算机。在瘦客户端中,在约束没有用策略实施的情况下,用户不能
安装不同的网络浏览器应用以绕过网络浏览器140和策略引擎170并且访问应用120。

现在考虑包括具有网络浏览器的客户端计算机的另一系统,其中所述网络浏览器
具有策略控制特征,并?#20063;?#32771;图2,系统200包括经由网络205通信地耦合到客户端计算机
230的服务器计算机210。在一个示例中,网络205是因特网。在其他示例中,网络205可以不
同于因特网。服务器210类似于服务器110(图1)。

客户端230包括网络浏览器240。浏览器240的再现引擎242访问DOM 150并且生成
再现的输出243到显示器245,在显示器245上,再现的输出243采用视觉形式247作为视为图
形用户界面(GUI)可被用户202观看到。用户202通过GUI与客户端计算机230交互以向浏览
器240提供用户输入248。用户输入248的示例特别包括用户选择DOM元素,选择一组多个页
面视图(例如页面标签)中的一个,改变DOM元素的位置或方向,以及将数据输入到文本框
中。

在应用120的操作期间,可以对一个或多个DOM元素(在一个示例中诸如元素152)
做出改变。这些改变可以响应于用户输入248或独立于用户输入248而发生。应用120可以更
新或替换网页125以?#20174;?#25913;变,并且向客户端230发?#36879;?#26032;或新页面。再现引擎242操作以在
视觉上再?#20013;?#35746;页面的DOM 150。触发引擎160还对修订的DOM150进行操作以检测对它的元
素的改变(诸如对元素152的改变事件162),并将检测到的事件信号164发送到策略引擎
270。

策略引擎270与策略引擎170(图1)类似地操作。在执行预定义策略(如果存在一
个)中,对于与改变事件162(和检测到的事件164)相关联的DOM元素,策略引擎270可以修改
272DOM 150的一个或多个元素。策略引擎270还可?#28304;?#36882;浏览器240外部的外部操作274至
诸如客户端230的操作系统(未示出)或另一个模块。接着所讨论的这种外部操作274的示例
包括将与事件相关的信息日志记录到用于后续操作(诸如审计)的文件或者允许或不允许
复制、打印或保存与网络浏览器140之外的应用120相关的数据。在一些示例中,可以组合多
个外部操作;例如,日志记录可以与允许或不允许所日志记录的操作相结合。

在一些示例(诸如在图1中的示例)中,网络浏览器240包括插件接口288,插件接口
288准许不是浏览器240的组成部分的软件模块访问浏览器240的功能和数据结构。在这些
示例中,策略引擎270可以被实现为与插件接口288相配的浏览器插件模块。该架构允许策
略引擎270被实现为单独的模块,所述单独的模块能够被附加到浏览器240但是却能够采用
紧密集成的方式与浏览器240进行互操作。

策略管理器290与策略管理器190(图1)类似地操作。策略管理器290可以是网络浏
览器240外部的客户端230的软件模块。在一些示例中,策略管理器290从外部策略服务器
298获得策略192(通常作为具有多个策略192的数据集的一部分)并且使用所获得的策略
192来配置策略引擎270。在其他示例中,策略管理器290可以将先前获取的策略192缓存在
客户端230中,并且向策略引擎270提供缓存的策略192。在一个示例中,在策略服务器298不
可访问时,可以使用所缓存的策略。策略管理器190可?#28304;?#29992;户202接收用户ID 249,或者从
用户202或从客户端230接收类似的标识信息。策略管理器190然后可以使用该信息来从策
略服务器298或在缓存中识别和获得那些策略,那些策略与用户202和/或客户端230相关
联。以这种方式,策略引擎270能够配置有适用于用户202和/或客户端230的?#23454;?#31574;略。在不
同的示例中,所有策略可以适用于所有用户202和/或客户端230,并且用户ID 249可以不被
提供或使用。

更详细地考虑策略192,多个策略192可以被策略引擎270结合特定应用120使用。
这些多个策略192可以形成策略数据集292。每个策略192通常被IT管理员或类似的人员预
定义来实现用于一组客户端230(诸如属于特定组织的那些客户端)的管理策略。每个策略
192包括各种字段。

应用字段294指定策略192施加到的应用120。这允许策略引擎270同时配置有针对
多个应用120的策略192,使得随着用户从一个应用120冲浪到不同的应用120,?#23454;?#30340;策略
引擎能够被应用。在一些示例中,多个应用120可以在应用字段294中指定。在一些示例中,
如果应用字段294不包含条目,则策略引擎270将策略192施加到所有应用120。

元素字段295指定策略192施加到的DOM元素152。在一个示例中,DOM元素152可以
用DOM元素152的类标签154来标识。

条件字段296指定如果被满足则使由操作字段297指定的操作由策略引擎270执行
的条件。该条件可以是用于DOM元素152整体,或用于元素152的元素数据158。可应用于元素
152整体的条件的示例包括元素是否可见,或者元素是否已被用户选择。适用于元素数据
158的条件的示例包括元素文本数据中是否存在特定的?#22336;?#23376;串,或元素数值数据的值是
否在指定的值范围之外。在一些示例中,条件字段296可以包括用逻辑运算符(例如与
(AND),或(OR),非(NOT)等)连接的多个条件,所述多个条件条件被评估以确定所述条件是
否被满足。策略引擎270可以基于这些条件产生组合断言或真命题。例如:如果条件1存在或
条件2存在,则执行操作3。

当在元素字段295中指定的元素的条件字段196中指定的条件被满足时,操作字段
297指定要由策略引擎270对应用字段294中指定的应用120执行的操作。如上所述,在一些
示例中,操作可以修改DOM 150的至少一个元素152。在这种情况下,操作字段297指定要执
行的操作和在上面执行操作的元素152。元素152可以是在元素字段295中指定的相同元素
或是DOM 150的不同元素152。在一些示例中,操作字段297可以指定将对多个元素执行操
作。在一些示例中,操作字段297可以指定多个操作,并且这些多个操作中的每一个可以对
一个或多个元素执行。修改DOM元素152的操作的示例包括从DOM 150中移除指定的元素,向
DOM 150添加元素,改变DOM元素的属性或特性或者改变元素数据的内容。

在其他示例中,操作可以是对浏览器240外部的程序或模块执行特定任务的请求。
如上所述,这可以包括将与改变事件相关的数据日志记录到文件。在这种情况下,策略引擎
270可以连同所述请求一起提供要日志记录的数据。策略管理器190可以接?#29031;?#20123;请求和数
据,并且执行操作本身或者将操作路由到客户端130的?#23454;?#36164;源。

现在更详细地考虑客户端计算机230的一个示例架构,参考图3,客户端计算机230
包括处理器310和存储器320。处理器310通过链路305通信地耦合到存储器320和显示器
245。在一些示例中,诸如图3中所示的示例,存储器320和显示器245也经由链路305耦合,不
过在其他示例中,它们可以不直接耦合到彼此。

除了诸如DOM 150的数据之外,能被处理器310执行的程序也可?#28304;?#20648;在存储器
320中。具有能被处理器310执行的单独指令的程序在层次结构中可以被按照概念组织。能
够访问客户端计算机230的硬件资源的操作系统330处于最?#22270;?#21035;。包括网络浏览器240,策
略管理器290和其他程序(未示出)的本机程序在分层结构中处于下一个更高级别,并且能
够直接访问操作系统的功能。策略引擎270在分层结构中处于再更高级别,因为它经由插件
接口288插入到网络浏览器240中。这样,策略引擎270在网络浏览器240的上下文中执行。程
序指令可以通过插件接口288将策略引擎270安装到网络浏览器240中。策略引擎270不具有
对操作系统的功能的直接访?#21097;?#32780;取而代之却有权访问网络浏览器240的经由插件接口270
而显露给它的那些功能。为了执行未显露的操作(诸如数据日志记录)和访问客户端230的
其他功能,策略引擎270可以向策略管理器290发送对这样的操作的请求。

参考图4,现在考虑一种用于使用客户端计算机的网络浏览器实施用于在服务器
计算机上执行的基于HTTP的应用的预定义管理策略的方法。可替代地,图4可以被认为是客
户端计算机的网络浏览器的流程图。如上所述,对HTTP的参考可以包括HTTPS和其他兼容协
议。该方法开始于402:使用策略初始化浏览器。该策略包括至少一个操作。对于每个操作,
策略还包括由应用呈现给客户端的网页的文档对象模型(DOM)的关联元素。在404,由浏览
器检测DOM的元素的文档改变事件。在406,检查文档改变事件以确定事件是否是针对策略
中的元素。如果不是(406的“否”?#31181;?,则该方法?#31181;?#22238;到404。如果是(406的“是”?#31181;?,则
在408执行策略的操作。在一些示例中,在410,如果元素可见,则执行操作。在一些示例中,
在412,操作修改DOM的元素,并且该操作由策略引擎在浏览器上下文内执行。在414,当由浏
览器在再现DOM时,操作可以允许或不允许元素的功能或者示出或隐藏元素的用户界面表
示。在一些示例中,在416,操作修改DOM的元素的元素数据以重新定义被浏览器再现时它的
内容和外观中的至少一个,并且该操作由策略引擎在浏览器上下文内执行。在一些示例中,
在418,操作对浏览器之外的文档改变事件进行日志记录。这还可以包括日志记录与事件相
关联的数据,包括相关联元素的数据。

参考图5,现在考虑另一种用于使用客户端计算机的网络浏览器来实施用于在服
务器计算机上执行的基于HTTP的应用的预定义管理策略的方法。可替换地,图5可以被视为
客户端计算机的网络浏览器的策略引擎(例如策略引擎170(图1),270(图2))的流程图。该
方法在502开始:加载至少一个策略。在一些示例中,加载具有多个单独策略的策略数据集
(诸如策略数据集292(图2))。可?#28304;?#23458;户端计算机外部的策略服务器或者从客户端上已经
存在的?#38236;?#21103;本进行加载。在504,等待页面加载事件的发生。页面加载事件指示已经加载
了新的网页,并且DOM现在表示该新网页的元素。页面加载事件可以响应于用户使用网络浏
览器导航到新的URL而发生。页面加载事件还可以响应于应用向客户端发送新的网页而发
生,这产生新的DOM。在506,确定策略数据集292中是否存在针对该应用的策略192(图1-2)。
这可以通过将网页的URL的顶级域与策略数据集292中的策略192的应用字段294进行比较
来进行。如果不是(506的“否”?#31181;?,则流程?#31181;?#21040;504。如果是(560的“是”?#31181;?,则在508
处等待文档改变事件。如果对DOM元素的改变发生了,则可以由触发引擎160(图1-2)为DOM
元素生成文档改变事件。在510,一旦检测到文档改变事件,则识别与文档改变事件相关联
的DOM元素。文档改变事件提供已经改变的DOM元素的指示。在512,在策略数据集292中搜索
对应于改变的DOM元素的一个或多个策略。这可以通过将文档改变事件指示的DOM元素与策
略数据集292中的每个策略192的元素字段295进行比较来进行。如果改变的DOM元素不在策
略下(514的“否”?#31181;?,则流程?#31181;?#21040;508。换句话说,在这种情况下,在数据集292中没有具
有匹配元素字段295的策略192。如果改变的DOM元素在策略下(514的“是”?#31181;?-换句话说,
存在具有匹配元素字段295的至少一个策略192-则在516-518可?#36816;?#24207;测试这些元素匹配
的策略192。在516,对于元素匹配的策略192之一确定是否满足在那个策略192中指定的条
件(或多个条件)。这可以通过将每个元素匹配策略192的条件字段296与DOM元素的当前相
关属性、特性和元素数据进行比较来确定。如果针对改变的DOM元素指定的条件不被满足
(516的“否”?#31181;?,则流程?#31181;?#21040;520。如果满足指定的条件(516的“是”?#31181;?,则在518执行
在该策略的操作字段297中指定的操作,并且流程在520继续。在520,确定是否还有更多的
元素匹配策略192要被测试。如果是(520的“是”?#31181;?,则选择下一个元素匹配策略192,并
且流程?#31181;?#21040;516。如果没有(520的“否”?#31181;?,则已经测试了所有元素匹配策略,并且?#31181;?br />到508以等待下一文档改变事件。

该方法具有它等待事件发生的几个点,例如在504,508,530和540处。为了使图5中
的图示说明清楚,每个点被单独示出,但发生的事件类型决定了该方法在哪里继续。因此,
如果在530触发引擎160检测到页面?#23545;?#20107;件,则流程?#31181;?#21040;504。这指示它的加载触发了先
前页面加载事件的网页已被?#23545;兀?#24182;?#20063;?#38656;要等待文档更改事件。

另外,如果在540触发引擎160检测到浏览器关闭事件,则这指示网络浏览器正在
被关闭。结果,策略引擎的操作终止。

现在考虑使用客户端计算机的网络浏览器来实施用于在服务器计算机上执行的
基于HTTP的应用的预定义管理策略的示例,并?#20063;?#32771;图6A,示例应用位于URL“http:\\
www.example.com?#20445;?#24182;且用户将网络浏览器定向到该URL。为了简化说明,应用向浏览器提
供第一和第二示例网页。在第一示例中,没有适用于该应用的策略。如果网络浏览器没有策
略引擎,或者网络浏览器具有策略引擎,但没有为应用定义的策略,则可能会发生这种情
况。第一示例网页在由网络浏览器的再现引擎在显示器上再现时导致窗口600A的图形界
面,图形界面包括聊天按钮610。如果用户选择聊天按钮610,则基于HTTP的应用对该用户输
入作出响应并将第二示例网页提供给网络浏览器。响应于接收到第二示例网页,网络浏览
器在显示器上再现第二页面以产生窗口600A的图形界面。第二网页包括突显的聊天按钮
620,用于进入消息的文本框630,用于外发消息的文本框640和发送按钮650。这是用户界面
的简单图示,其中来自正在与其进行聊天会话的远程客户端的进入消息在?#38236;?#23458;户端处接
收时,被在进入消息文本框630中显示,并且随着来自?#38236;?#23458;户端处的用户的外发消息被用
户键入,在外发消息文本框640中出现所述外发消息。当用户选择发送按钮650时,在框640
中的外发消息被发送到远程客户端。

表1示出了对应于第一示例网页的DOM的片段部分:



表1-第一示例网页(窗口600A)

为了简化图示说明,在图示说明DOM的表(诸如表1)中,应用了几个惯例。第一,为
了清楚起见,省略了与本公开不相关的DOM的许多部分。这些部分在表中用省略号(“...”)
示出。第二,所有注释以?#22336;?/”开头。第三,括号(“[]”)表示元素数据,它也被称为“内部
HTML?#20445;?#24182;且元素数据被示出在DOM元素内以便清楚,即使它可能不出现在使用开发工具生
成的DOM的表示中。

在表1中,聊天按钮610的外观由<样式(style)>部分中的聊天按钮(chat_button)
DOM元素的特性定义。标?#35835;?#22825;按钮610并定义其功能的属性和标签在<主体(body)>部分中
指定。这些包括类属性、id属性、角色属性、动作属性和href属性。属性和标签使应用能够使
用服务器实现与DOM元素相关联的功能。元素数据也可以由应用在实现功能时使用。

表2示出了对应于第二示例网页的DOM的片段部分。




表2-第二示例网页(窗口600B)

在表2的第二网页的DOM中,聊天按钮620的样式特性?#20174;?#23427;与聊天按钮610的“反
转”外观。已经为进入消息文本框630、外发消息文本框640和发送按钮650添加了DOM元素。
每个元素在DOM中都有定义的自己的特性、属性和元素数据。表2中的元素数据?#20174;?#31383;口
600B的当前状态,窗口600B被出示有进入和外发消息。

考虑要为在服务器上执行的基于HTTP的应用在客户端上实施的第一示例预定义
策略数据集。该数据集在表3中示出,并且为数据集中的每个策略定义应用字段294、元素字
段295、条件字段296和操作字段297(图2):


表3-第一示例策略数据集

表3的数据集包括两个策略。第一个策略被应用于顶级域的应用example.com,而
第二个策略被应用于顶级域的应用app2.com。

为?#31169;?#37322;第一策略的操作,考虑网络浏览器已经在客户端上被调用并?#19994;?#19968;策略
被加载(图5,502)之后的时间。用户导航到URL“http:\\www.example.com?#20445;?#24182;且基于HTTP
的应用将第一示例网页(表1)发送到网络浏览器。页面加载事件504由触发引擎检测(图5,
404),并且检查第一策略数据集。因为该数据集中的第一策略的应用字段294对应于该URL
(图5,步骤506),所以策略引擎等待要从触发引擎接收的文档改变事件(图5,步骤508)。在
网页被加载时,为网页的每个DOM元素生成文档改变事件。由于对这些不同于聊天按钮的其
他DOM元素不存在策略,所以可以忽略针对这些DOM元素发生的文档改变事件(图5,510-
514)。当生成对聊天按钮元素的文档改变事件时,确定是否满足条件(图5,516)。聊天按钮
元素是可见的,这满足在第一策略的条件字段296中定义的条件。因此,通过执行在第一策
略的操作字段297中定义的操作,将第一策略施加到聊天按钮的DOM元素,这从DOM中移除
DOM元素。此时,在将表3的数据集的第一策略施加到DOM之后,表1的第一示例网页的修改版
本如表4所示:



表4-应用策略后的第一个示例网页(窗口600C)

网络浏览器再现表4的修订的DOM,从而得到图6C的窗口600C,其中没有聊天按钮
出现。策略的意图和效果是防止用户访问基于HTTP的应用的聊天功能。然而,除此之外,基
于HTTP的应用在客户端上正常地操作,并且应用和服务器不知道客户端的网络浏览器中的
策略的实现,并且也不受客户端的网络浏览器中的策略的实现的影响。

现在考虑要为在服务器上执行的基于HTTP的应用在客户端上实施的第二示例性
预定义策略数据集。该数据集示于表5中:





表5-第二示例策略数据集

表5的数据集包括五个策略。第一个到第四个策略被应用于顶级域的应用
example.com,而第五个策略被应用于顶级域的应用app2.com。

为?#31169;?#37322;第二策略的操作,考虑在第二示例网页(表2)已经被加载到网络浏览器
并且聊天会话正在进行之后的时间。已经从基于HTTP的应用接收?#31169;?#20837;的聊天消息,并且
随着进入消息DOM元素的元素数据被改变以?#20174;?#36827;入的消息文本,检测到对进入消息DOM元
素的文档改变事件。策略引擎在处理文档改变事件中确定表5的策略数据集的第一策略施
加到进入消息元素(图5,508-512)。在元素数据(“我有一个关于您正在处理的机密项目的
问题(″I have a question about the confidential project you are working on)”)
中搜索文本子?#22336;?#26426;密(confidential)?#20445;?#23427;被?#19994;健?#32467;果,通过执行在策略的操作字段
297中定义的操作来将表5的第一策略施加到进入消息元素的DOM元素,这通过添加标签来
修改元素数据,所述标签被再现时使得子串?#28304;?#20307;字、下划线和红色显示。策略的意图和效
果是突显“机密”一?#21097;?#20197;通知客户端的用户在他的聊天会话中要相当慎重。

接下来,客户端的用户键入外发聊天消息:“是的,那是飞马项目,请叫我(Yes,
that is the Pegasus project.Please call me)”。每个键入的?#22336;?#23545;外发消息元素引起
文档改变事件。表5的数据集的第二和第三策略施加到外发消息元素。对于这两个策略,根
据它们的条件字段296,在元素数据中搜索文本子串“神马”。当用户已经完成键入该单词
时,?#19994;?#22312;条件字段296中指定的子串。结果,通过执行在第二策略的操作字段297中定义的
操作,将表5的第二策略施加到外发消息元素的DOM元素,用星号(″*″)修订外发消息元素
的元素数据中的子串的?#22336;?#31532;二个策略的目的和效果是向任何旁观者隐藏项目代码名称
“神马”。然后,通过执行在第三策略的操作字段297中定义的操作,将表5的第三策略施加到
外发消息元素的DOM元素,用以移除发送按钮元素的“动作”属性以便禁用它,并且改变发送
按钮元素的样式特性以便为该元素赋予灰色外观。当在策略引擎针对第二和第三策略做出
改变之后DOM被再现时,用户能够识别出他已经键入?#31169;?#27490;的代码名称,并?#20063;?#33021;发送他的
聊天消息,直到从消息中擦除了该代码名称。

在这一点上,在表4的数据集的第一,第二和第三策略已经被施加于DOM之后,第二
示例网页的修改版本如表6所示:.




表6-应用策略后的第二个示例网页(窗口600D)

表6的修改的DOM在被再现时显示图6C的窗口600D的用户界面。在进入消息文本框
630中的单词“机密”变为粗体,加下划线和红色。星号在外发消息文本框640中替换代码名
称“神马”。发送按钮的锚(<a>)字段的“动作”标签已经被从动作“doSendMessage(发送消
息)();”改变为动作=“?#24065;?#31105;用该按钮,并且发送按钮650的背景和颜色的样式特性被设
置为#800000(灰色),以在视觉上向用户指示它的操作被禁用,并且如果选择该按钮,将什
么都不发生。

参考表1-6和图6A-6C描述的示例网页和策略,虽然已经被大大简化了,但是仍然
示出了本公开提供的一些能力。

从上述内容可以理解:本公开提供的客户端计算机、计算机可读存储介质和方法
表示本领域中的显著进步。尽管已经描述和示出了若干特定示例,但本公开并不限于如此
描述和示出的特定方法,形式或部件布置。本说明书应当被理解为包括本文描述的元素的
所?#34892;?#39062;和非显而易见的组合,并且对于这些元素的任何新颖的和非显而易见的组合,在
本申请或以后的申请中都可以提出权利要求。前述示例是说明性的,并且没有单个特征或
元素对于可以在本申请或后续申请中要求主张的所有可能组合是必要的。除非另有指定,
方法权利要求的步骤不需要以规定的次序执行。类似地,图块或数字(诸如(1),(2)等)不应
被解释为必须以特定次序进行的步骤。附加的块/步骤可以被添加,一些块/步骤可以被移
除,或者块/步骤的次序可以被改动,并且仍然可以在所公开的示例的范围内。此外,在不同
附图中讨论的方法或步骤可以被添加到其他图中的方法或步骤或与其互换。此外,特定的
数字数据值(诸如特定量,数,类别等)或其他特定信息应当被解释为是用于讨论示例的说
明性的。提供这样的特定信息并不是用来限制示例的。本公开不限于上述实施方式,取而代
之是由所附权利要求根据其等同物的全部范围来限定的。在权利要求记载其等同物的“一
个”或“第一”元素的情况下,这样的权利要求应当被理解为包括一个或多个这样的元素的
并入,既不要求也不排除两个或更多个这样的元素。在权利要求记载“具有”的情况下,该术
语应当被理解为是指“包括”。

关于本文
本文标题:用于基于HTTP的应用的网络浏览器策略.pdf
链接地址:http://www.pqiex.tw/p-6091793.html

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


平码五不中公式规律 快乐12玩法一注多少钱 欢乐麻将欢乐豆领取 推筒子二八杠app安卓版 pc蛋蛋幸运28定胆位 jdb龙王捕鱼技巧攻略 重庆市彩开奖号码记录 时时彩为什么不能倍投 大赢足球即时比分网 上海11选5技巧买法 战团哪里开厂赚钱