用于web内容和web服务的安全网络内插入的方法和系统的制作方法_2

文档序号:8269412阅读:来源:国知局
户正在使用互联网访问应用104并请求特定的网页,例如通过在地址栏中键入请求的网页或通过在另一网页处的超链接上点击。作为响应,互联网访问应用104发出HTTP请求,其包括请求的网页的URI。例如,URI可以具有以下格式:
http:// [web服务器地址]:[端口]/[网页名称]
[Web服务器地址]可以是托管请求的网页的内容服务器120的域名(例如“www.wikipedia.com”)或者IP地址(例如“208.80.154.225,,)。[网页名称]指示在该内容服务器120上的特定网页的名称,例如“wiki/DNA”。有时,可以从URI中省略[网页名称],指示正在请求内容服务器120的默认网页。前缀“http://”标识要用来检索网页的通信协议,并且可以改变为任何其它合适的协议,诸如用于安全网页的“https://”。通信端口由[端口 ]指示,但是如果要使用用于给定协议的默认端口(例如用于HTTP的端口 80),它也可以被省略。
[0032]请求监视器202从互联网访问应用104接收HTTP请求,可选地执行虚拟域名替换(以下讨论),可选地从HTTP请求提取报头信息,并且最后将HTTP请求转发到网络118。如果在HTTP请求中包含的URI是正确的,并且对应于现有内容服务器120上的现有网页,则响应监视器204从该内容服务器120接收包括请求的网页的HTTP响应。网页例如可以是超文本标记语言(“HTML”)文件。HTML是用来描述网页内容的标准语言。
[0033]响应监视器204可以分析接收的网页,并确定是否需要数据插入。在一些实施例中,为了确定是否需要数据插入,响应监视器204可以标识订户设备102,并通过使用设备数据库208来检查特定的设备或特定类型的设备是否适合于数据插入。例如可以通过从先前由请求监视器202接收的对应HTTP请求的报头信息获得用户-代理(User-Agent)字段而实现标识订户设备。在一些实施例中,对着URI的预定义列表来匹配网页URI,以确定是应当使能(如果URI在“白名单”中)还是禁用(如果URI在“黑名单”中)数据插入。在一些实施例中,确定还可以基于HTTP响应的内容类型。例如,响应监视器204可以决定只有包含HTML页面的HTTP响应可以承受数据插入。在一些实施例中,响应监视器204可以检查策略规则210,以确定对于特定订户、会话或事务是否允许数据插入。在一些实施例中,可以允许订户禁用数据插入,并且响应监视器204可以通过访问订户简档212而确定是否将其 FH
[0034]在一些实施例中,在较早的阶段由请求监视器202完成关于是否执行数据插入的确定。因此,在从互联网访问应用104接收HTTP请求之后,请求监视器202可以通过使用上述数据库和方法决定是否要执行数据插入,并将其决定提供给响应监视器204。响应监视器204然后可以简单地通过查看由请求监视器202提供的决定而确定是否要执行数据插入。
[0035]如果确定了不需要任何数据插入,则响应监视器204向互联网访问应用104提供接收的网页。如果需要数据插入,则响应监视器204向数据插入模块206提供网页,从数据插入模块206接收修改的网页,并将修改的网页转发到互联网访问应用104。不管是否修改网页,互联网访问应用104接收网页,处理它,并将它显示给订户。
[0036]图3A图示由订户请求的示范性原始网页310。在实施例中,用HTML描述原始网页310。原始网页310可以包括报头区段(包含在标签〈head〉和〈/head〉之间),其可以包括HTML元素,诸如网页标题、网页描述、脚本等。原始网页310还可以具有主体区段(包含在标签〈body〉和〈/body〉之间),其可以包括HTML元素,诸如文本段落、图像、按钮、到其它网页的超链接等等。
[0037]在从响应监视器204接收原始网页310时,数据插入模块206可以将插入数据添加到原始网页310。可以将插入数据添加到报头区段、主体区段或文件中的任何其它位置中,优选顺从各种行业标准和/或互联网访问应用104的要求。
[0038]图3B图示作为将插入数据330插入到原始网页310中的结果所获得的示范性的修改的网页320。在一些实施例中,插入数据330可以包括一个或多个脚本元素,诸如远程脚本元素332或嵌入式脚本元素334。脚本可以是由互联网访问应用104并且优选由行业标准所支持的任何类型或语言。例如,插入数据330可以包括顺从ECMAScript(ECMA-262)的语支之一的脚本,诸如JavaScript、Jscript,或由互联网访问应用所支持的任何其它现有或未来的脚本语言,诸如VBScript等。添加插入数据330之后,数据插入模块206将修改的网页320传递到响应监视器204,其可以将修改的网页320提供给互联网访问应用104。
[0039]互联网访问应用104接收修改的网页320,并通过处理其中包含的HTML元素而将其显示给订户。虽然可以立即显示诸如标题、文本和按钮之类的一些HTML元素,但诸如图像之类的其它HTML元素可以包括到远程内容的URI (链接),其在可以被处理和显示之前必须被检索。为了检索远程内容,互联网访问应用104发出包含其URI的新的HTTP请求。
[0040]在修改的网页320的处理期间的某点处,互联网访问应用104开始处理插入数据330中包含的元素,例如包括嵌入式脚本元素334和远程脚本元素332。嵌入式脚本元素334包括可以立即由互联网访问应用104执行的脚本的实际内容(由[脚本内容]指示)。相比之下,远程脚本元素332不包括脚本内容;代替地,它包括标识包含脚本本身的资源(文件)的远程位置的URI (被指示为[脚本URI])。因此,在远程脚本元素332的情况下,互联网访问应用104首先通过发出对应HTTP请求而检索脚本文件,等待以从响应监视器204获得脚本文件,并且仅仅那时执行脚本。为了优化的目的,可以预处理(例如由ISP/MNO)脚本文件以最小化其文件大小。例如,可以从脚本文件中移除不必要的内容,诸如空白或注释。此夕卜,可以插入(例如由响应监视器204)HTTP缓存指令,其将指示互联网访问应用104将脚本保持在缓存中达更长的时间段,预计对相同脚本的后续HTTP请求。
[0041]在一些实施例中,脚本在其执行时可以将附加内容和内容区域添加到修改的网页320。换句话说,脚本可以包括指示互联网访问应用104创建和显示新图形元素的命令。
[0042]在一些实施例中,脚本可以通过创建新的内联(inline)框架(“iframe”)元素并且例如将其添加到修改的网页320的〈body〉区段而添加新的内容区域。Iframe允许将来自另一网页的内容插入到现有网页内的矩形框架中。以HTML形式编写,iframe具有下列格式:
〈iframe src=[插入的网页 URI] > [备份内容]</iframe〉
其中[插入的网页URI]指向将在iframe内加载和显示的远程网页,并且[备份内容]包括如果互联网访问应用不支持iframe则将显示的HTML内容。此外,可以定义网页内的iframe的尺寸和位置,如下面将示出的。
[0043]图4图示用于将包含远程内容的iframe插入到网页中的示范性JavaScript脚本410。JavaScript脚本410可以直接嵌入在嵌入式脚本元素334中,或者其可以被远程托管并且从远程脚本元素332引用,如上所讨论。当互联网访问应用104运行JavaScript脚本410时,其创建新的iframe 412,并将新的iframe添加到修改的网页320的〈body〉区段418。iframe的大小和位置还由脚本定义(如416所指明)。在指向远程网页(由[插入的网页URI]指示)的“src”属性414中定义要在iframe内显示的内容。结果,互联网访问应用104将经由另一 HTTP请求而检索远程网页,并显示iframe内部的远程网页的内容,iframe被放置在所显示的修改的网页320内的预定义位置处。
[0044]在一些实施例中,JavaScript脚本410可以添加多于一个iframe,并且它还可以包括其它类型的HTML元素。
[0045]图5A、5B、5C和图示其中一个或多个iframe可以被添加到网页的各种示范性的配置。图5A图示示范性的页脚/报头配置,其中报头iframe 512和页脚iframe 514分别被添加在网页的原始内容510的上方和下方。添加的iframe可以被设置以保持在要么相对于网页边界(通过与网页的内容一起滚入和滚出屏幕)要么相对于屏幕边界(通过不滚入和滚出屏幕)的恒定位置中。
[0046]图5B图示示范性的叠覆配置,其中添加叠覆iframe 516,以便覆盖网页的原始内容510的一部分。可以设置叠覆iframe 516,以保持在要么相对于网页边界要么相对于屏幕边界的恒定位置中。此外,如果互联网访问应用104和/或订户设备102支持动态视口(即放大和缩小),则叠覆iframe 516可以将其大小调整到缩放水平或者保持大小恒定而不管缩放水平。在一些实施例中,可以添加多于一个叠覆iframe 516。在一些实施例中,叠覆iframe 516可以是半透明的,或者原始内容510可以变暗,以使得叠覆更加突出。
[0047]图5C图示示范性的侧边栏配置,其中左边栏iframe 518和右边栏iframe 520分别被添加到网页的原始内容510的左边和右边。添加的iframe可以
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1