CN1249608C - 用于对网页进行中介处理的系统和方法 - Google Patents

用于对网页进行中介处理的系统和方法 Download PDF

Info

Publication number
CN1249608C
CN1249608C CNB008168172A CN00816817A CN1249608C CN 1249608 C CN1249608 C CN 1249608C CN B008168172 A CNB008168172 A CN B008168172A CN 00816817 A CN00816817 A CN 00816817A CN 1249608 C CN1249608 C CN 1249608C
Authority
CN
China
Prior art keywords
webpage
intermediate server
server
cookie
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB008168172A
Other languages
English (en)
Other versions
CN1433549A (zh
Inventor
克莱·戴维斯
沃尔特·R·勃德威尔
米切尔·C·克罗伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BMC Software Inc
Original Assignee
BMC Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BMC Software Inc filed Critical BMC Software Inc
Publication of CN1433549A publication Critical patent/CN1433549A/zh
Application granted granted Critical
Publication of CN1249608C publication Critical patent/CN1249608C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于在中间服务器对网页进行中介处理的系统和方法,所述系统和方法可以包括:接收来自目标网服务器的网页;保证该网页不被缓存;以及改变网页中的链接,使之指向所述中间服务器。

Description

用于对网页进行中介处理的系统和方法
技术领域
本发明总体上涉及网页系统和方法,尤其涉及用于在中间服务器进行网页的软件中介处理(软件调整,software mediation)的系统和方法。
背景技术
随着网站成为普遍存在的,企业在设置其网站的性能目标和质量标准方面的兴趣不断增加。实现这些目的的一种方法是模拟最终用户对公司网站的体验。通过模拟最终用户的经历,公司可以确定在其网页中的链接和资源的完整性,并针对由企业规定的操作目标评价用户的经历。此外,公司的信息技术部门将能够更好地跟踪和权衡重要的网络资源。除了模拟单个用户的经历之外,同时模拟多个用户将使公司能够对网站进行强化测试,并检测网站性能的趋势,因而使得公司能够在问题出现以前即将其解决。
模拟用户通过网站的路径的一种方法是记录由用户发出的所有的请求。为此,一般需要通过中间服务器,一般是代理服务器,发送用户的请求。不过,代理服务器的使用需要很高的专门技术,这是因为每个浏览器必须被单独地配置,才能通过代理服务器。这个问题被以下的事实加重了,即,相同的浏览器的不同的版本可能需要独特的配置。使用代理服务器跟踪用户的网页请求还存在另外的限制,这是因为用户的请求不能通过任何其它的代理服务器发送。随着越来越多的公司要求雇员通过公司的代理服务器发送请求,所述问题越来越严重。使用代理服务器是为了限制雇员可以访问的网站,并且通过缓存受欢迎的网站提高效率。如果在代理服务器缓存网站的内容,对于该网站的请求的任何响应将来自代理服务器的存储器,而不来自目标网站。因而,所述请求实际上将永远不会超出公司的服务器,因此将不能被第二个代理服务器即用于跟踪用户的请求的代理服务器记录。
使用代理服务器的若干缺点可以借助于通过一个中间网服务器发送网页请求来克服。当一个网页请求从中间网服务器发出时,目标网站的HTML文本将被改变,或者被中介处理(调整,mediated),使得在该目标网站的链接首先通过中间网服务器被发送。例如,建立几个网站用于中介处理(调整,mediate)目标网站文本,使得所述文本反映社会团体或流行卡通或电影人物的方言。此外,这些网站中介处理网络链接,使得来自被中介处理的网页的任何被请求网页也被中介处理。不过,由这些网站使用的方法不能处理动态内容,例如JavaScript(Java脚本语言),表单,侧图象映射(side image map)以及其它的基本网络技术。
发明内容
本发明提供一种系统和方法,其中基本上消除或减少了和以前研发的用于中介处理网页的系统和方法相关的缺点和问题。
更具体地说,本发明提供一种用于在中间服务器中介处理网页的系统和方法。所述方法包括保证网页不被缓存的步骤和改变网页中的链接而指向一个中间服务器的步骤。在本发明中,被修改以便指向中间服务器的链接可以是绝对引用或者是相对引用。
和以前研发的用于中介处理网页的系统相比,本发明的实质性优点是允许中介处理动态内容。
本发明提供的一个重要的技术优点是阻止网页被用户的计算机或者代理服务器缓存。
本发明提供的另一个重要的技术优点是允许中介处理cookie(网络“甜饼”)。
本发明提供的另一个重要的技术优点是,和以前的方法相比,本发明能够中介处理的网页的数量大得多。
本发明提供的另一个重要的技术优点是,因为不需要在用户的计算机上安装附加的软件,因而也不需要修改用户的网络浏览器。
附图说明
为了更完整地理解本发明及其优点,请结合附图参阅下面的说明,其中相同的标号表示相同的特征,其中:
图1示意地表示可以实施本发明的一个系统;以及
图2是说明本发明的用于在中间服务器中介处理(调整)网页的本发明的方法的流程图。
本发明的详细说明
附图表示本发明的优选实施例,在所有的附图中,相同的标号表示相同或相应的部分。
在本发明的说明中,“内容”是指响应用户的命令(例如当用户选择某个链接时)通过网页返回用户的浏览器的HTML和其它的数据。“静态”网页包含被返回用户浏览器的不随时间改变的内容。“动态”网页指的是可以包含不同的未预格式化的内容的网页,所述内容对同一个用户的命令的响应可以随时间而改变。“路径”或“网络路径”指的是按照一定顺序作出的一连串请求。“示教会话”指的是用户确定的使得以后可以重放的一个路径。
本发明提供一种用于以能处理网页中的静态和动态内容的方式中介处理目标网页的系统和方法。图1示意地表示一种系统,在所述系统中,本发明可以记录用户通过在网络中的路径。用户可以通过网络浏览器20访问在中间服务器10的软件程序5。在一个实施例中,用户在访问中间服务器10的软件程序5之后,可以使用网络浏览器20向软件程序5提供一个路径名(例如“路径1”)和一个起始URL。所述路径名和起始URL可以被保存在数据库15中。路径名用于分类由用户确定的特定的路径,而起始URL是用户路径的开始点。例如,一旦用户点击“开始”按钮,表示他们准备开始确定路径,软件程序5便在网络浏览器20中打开一个显示窗口。所述显示窗口是一个在网络浏览器20中的新窗口,在其中将显示响应用户的命令而收到的内容。用户对所述起始URL的请求被从浏览器20发送给软件程序5。软件程序5再把所述请求发送给目标网服务器30。目标网服务器30响应该起始URL,向中间服务器10返回网页35。然后,软件程序5可以中介处理所述内容,使得由用户根据网页35的被中介处理的内容作出的任何另外的请求将通过中间服务器10发送。可以按照结合图2所述的方法进行内容的中介处理。
软件程序5在中介处理所述内容之后,便可以把被中介处理后的内容(mediated content)发送到网络浏览器20的显示窗口。在用户看来,在网络浏览器20的显示窗口中显示的网页看起来与网页的内容没有被中介处理时(即如果用户直接访问目标网服务器30)的显示画面可以相同。不过,本发明可以使网络浏览器20的打开的显示窗口不带导航或状态条。这是为了使,用户不会无意中从网络浏览器20的顶部直接输入URL而不是通过显示在显示窗口中的被中介处理后的内容访问URL,从而无意中绕过所述路径确定过程。
在用户根据网页35的被中介处理处理后的内容输入命令或请求之后,软件程序5在数据库中保留所述命令。此外,其它信息,例如相应于某个命令的头信息和cookie可以被存储在数据库15中。软件程序5然后向目标网服务器30发送新的网页35的附加请求。作为一个例子,用户可以根据在浏览器20的显示窗口内的网页35的被中介处理后的内容发出请求,软件程序5可以在数据库15中记录所述请求,然后把所述请求发送给目标网服务器30。软件程序5再次收到来自目标网服务器30的目标网页35的内容时,中介处理网页35的响应内容,并把被中介处理后的数据返回浏览器20的显示窗口。软件程序5还记录由目标网服务器30返回的例如cookie和头信息等内容。应当注意,当用户对不同的URL发出请求时,网页35的内容可能改变。此外,当对新的网页发出请求说,目标网服务器30可以改变。
一般地说,本发明可以捕捉需要服务器干预的所有交互作用。当用户确定一个路径时,用户可以停止路径确定过程,并且把路径保留在由用户确定的路径名下。
图2是说明软件程序5中介处理由网页35返回的内容的过程的流程图。HTML和其它的内容被修改,使得用户根据被中介处理后的内容作出的大部分交互作用或请求通过中间服务器10发送,而不直接发送给目标网服务器30。应当注意,以下的步骤不一定按照所示的顺序进行。
在步50,软件程序5确保由目标网服务器30返回的网页35不会被缓存。这样做有几个理由。如果用户想确定几个通过网的路径,在第一次示教会话中,可以使用一个特定的被中介处理后的URL,例如“URL1”进入网站A,而在第二个示教会话中,所述URL可以用于进入网站B。相同的被中介处理后的URL可用于在随后确定的路径中的不同的网页,以便减少用于确定路径所需的主机的总数。通过阻止缓存,本发明可以确保来自第一示教会话的任何网页对于第二示教会话不会被存储在用户计算机的存储器中。如果允许缓存,则当用户在第二示教会话中发出对于“URL1”的请求时,用户则会收到被缓存在用户计算机存储器中的网站A的被中介处理后的内容,而不是从软件程序5收到网站B的被中介处理后的内容。阻止存储也用于确保在浏览器20和目标网服务器之间的所有的交互作用通过中间服务器10被处理。如果网页35被缓存在用户的计算机中,后面的对于新的网页35的请求将在用户的计算机中处理,而不是通过中间服务器10。如果这样,则软件程序5将不能正确地跟踪用户在所述网页的交互作用(即在浏览器20和目标网服务器30之间的信息)。
在一个实施例中,软件程序5除去具有“HTTP-EQUIV=“expires”……”或者一个等效的失效编码的所有元标记(META Tag)。软件程序5则可以通过插入使所述网页立即失效的元标记来阻止缓存。本领域的普通技术人员容易理解,这只是许多用来使网页立即失效的例子中的一个例子,其它的实施例例如可以包括中介处理缓存控制(Cache-Control)头信息的方法。
在步60,软件程序5可以改变网页35的内容中的链接,使得指向中间服务器10。对绝对和相对URL链接这均可以进行。“绝对”URL指的是含有协议、主机和端口的URL。例如,在URL“http://www.server.com:80/”中,“http”是协议,“ www.server.com”是主机名,80是端口,如果在URL中端口被省去,则选择缺省的端口(例如对于http是80,对于https是443)。“相对”URL是相对于包含有HTML的目录的URL。例如,如果具有基础URL“http://www.server.com/”的网页中的一个链接被链接于/images/test.gif,则应当等效于被链接于“http://www.server.com/images/test.gif”。因为/images/test.gif是相对于基础URL“http://www.server.com”的,所述链接实际上不引用基础URL,只有“images/test.gif”出现在网页的内容中。
在绝对URL的情况下,软件程序5将在被中介处理后的URL的文件部分中嵌入目标网服务器名,置于特定的标识符之后。使用特定的标识符使得,如果用户发出请求被中介处理后的URL的命令,则软件程序5就能够定位目标网服务器30名。例如,到绝对URL<AHREF=“http://www.utexas.edu”>UT</A>的链接的HTML可以变成<AHREF=“http://site1.server.com/company*www.utexas.edu”>UT</A>。在这种情况下,对目标网服务器www.utexas.edu的请求将通过在中间服务器10的一个主机“sitel.server.com”发送。主机“sitel.server.com”可用于确定和网页35相关的一个特定的目标网服务器30。“company*”是专用标识符,其使得软件程序5能够在文件名中定位目标网服务器www.utexas.edu。然后,软件程序5可以向所述目标网服务器发送对目标网服务器www.utexas.edu的请求。应当注意,目标网服务器www.utexas.edu(例如对于这个特定请求是目标网服务器30)可以和用户以前请求的目标网服务器30不同。
因为绝对URL由http或https协议识别,软件程序5可以通过搜索“http://”或“https://”的内容来识别在网页35的内容中的绝对URL。这优于搜索特定类型的html标记例如A标记的内容以便识别绝对URL的系统,因为html标记不总是用于识别被嵌入JavaScript,Visual Basic或其它脚本中的URL。通过利用协议名识别绝对URL,软件程序5即使在URL由JavaScript动态创建的情况下也能中介处理URL。因此,本发明能够识别和中介处理在大量的网页中的绝对URL。
软件程序5还可以改变在网页35内容中的返回的相对URL,使其指向中间服务器10。对于相对URL,软件程序5为在网页35的内容中找到的相对URL修改或添加一个基地址标记。例如,如果index.html是相对于在http://www.utexas.edu找到的网页35的一个链接,则能够插入基地址标记:<BASE HREF=http://www.site1.server.com/index.html>。主机名(例如site1.server.com)被软件程序5用于确定网页35的特定目标网服务器30。在本例中,www.site1.server.com限定http://www.utexas.edu作为目标网服务器30,/index html位于该网页。通过插入或修改基地址标记,相对URL现在是相对于中间服务器10。
除去使用主机确定目标网服务器30之外,软件程序5可以使用端口。在上述的例子中,软件程序5可以使用server.com:5001识别目标网服务器www.utexas.edu。例如在相对URL的情况下,软件程序5可以插入基地址标记:<BASE HREF=http://server.com:5001/index.html>。使用端口确定目标网服务器30优于使用主机,因为使用主机配置起来更难,费用更高。由浏览器20用于查找中间服务器10的域名服务(DNS)必须具有用于识别目标网服务器的每个主机名的入口。因而,如果www.utexas.edu被主机www.site1.server.com识别,www.yahoo.com被主机www.site2.server.com识别,则DNS必须含有site1和site2两个主机的入口。此外,对于每个主机名,可以有一个SSL证书(SSLcertificate),以便进行更可靠的通信。不过,如果用户被禁止使用http的80或者heeps的443之外的端口,使用端口确定目标网服务器30可能是不合适的。这通常发生在当用户通过公司的代理服务器访问网页时。
在步70,软件程序5对资源进行标记,以便正确地分类。资源是有问题的,因为对它们的单独的请求与对网页35的初始请求是分开的。例如,如果网页35具有一个特定的图像,则第一个请求是对网页35,然后有一个第二请求来填充所述图像。因为本发明可以在用于确定网络中的路径的系统中实施,所以软件程序5必须能够区分对新的URL的请求(例如用户命令)和请求资源的请求。资源也是难于识别的,因为由网服务器例如目标网服务器30返回的资源头信息经常不正确(例如,资源头信息可能将一幅图象错误地标记为文本)。
当中间服务器10请求网页35时,如果产生一个附加的请求,则软件程序5判断所述请求是否是由于在网页35的内容中的资源的源标记产生的。这便避免依赖图像头信息确定资源的内容。例如,如果资源是一幅图像,则软件程序5能够识别资源的源标记“IMG SRC”。一旦资源被识别,软件程序5则可以对资源的后缀添加一个信息,使得当浏览器20请求该资源时,软件程序5将知道这是一个资源请求而不是路径中的附加步。例如,如果网页35的内容使软件程序5请求资源“dowertx.gif”,则软件程序5可以在网页35的内容中查找图像资源的源标记。例如,在网页35的内容中的HTML 可以包括:<IMGSRC=“graphics/dowertx.gif”border=o alt=“Texas”>。在定位这个资源的源标记之后,软件程序5可以中介处理该HTML,从而成为<IMGSRC=“/graphics/dowertx.gifmgt54wi”BORDER=0ALT=“Texas”>。当网页35的被中介处理后的内容被从中间服务器10传送给浏览器20时,由于该图像资源的源标记,浏览器20将请求“dowertx.gift54wi”。因为该图像以“mgt54wi”标记,软件程序5将知道浏览器20正在发出资源请求,以及用户没有试图在路径中定义附加步,而不管目标网服务器30返回的资源头信息表示的内容。应当理解,使用的实际标记可以改变,但是在网页中应当不会经常发生这样的改变。除去知道浏览器20正在请求资源之外,软件程序5还知道不需中介处理响应资源请求而返回的内容。本领域的普通技术人员显然可见,上述的步骤可以用于任何其它的资源,例如格式底稿和脚本。
在步80,软件程序5利用错误消息代替在网页35的内容中的不被支持的链接。这样作可以使得用户不再发出不能通过中间服务器10发送的请求。例如,普通的“mailto”链接使浏览器20启动一个邮件程序。因为所述邮件程序在浏览器20打开,并且邮件通过邮件服务器发送,软件程序5将不能记录邮件程序中的用户命令。因此,软件程序5例如可以用“iavascript:alert”(不支持的协议)代替链接“mailto:test@foo.com”。如果用户在定义路径时点击“mailto”链接,则出现一个错误。
一般地说,不支持的链接包括那些不再需要和中间服务器10发生交互作用的链接(例如“mailto”链接)。不过,在本发明的一个实施例中,如果链接要求使用非HTTP或非HTTPs协议,比如ftp,软件程序5也可以中介处理链接,返回错误消息。虽然本领域普通技术人员理解,本发明可用于中介处理多种协议,但可以选择配置软件程序5,使得一些特定的协议不被支持。
在步90,软件程序5改变document.domain(文件.域)脚本命令,以指向中间服务器10的域。为了使网页35的不同的帧显示的网页通过脚本相互通信,不同的网页必须处于相同的域中。此外,所述域必须是网页35的URL的一部分。因为用户命令实际上通过中间服务器10发送,软件程序5必须改变成帧化网页(framed web page)的文件域脚本命令,使得成帧化网页一旦被中介处理便能正确地进行交互作用。例如,如果网页35的document.domain(文件.域)最初设置为“utexas.cdu”,而中间服务器10的域是“server.com”,则document.domain(文件.域)脚本命令应当改变为“server.com”。作为例子,软件程序5能够把网页35返回的HTML内容由<SCRIPTLANGUAGE=JavaScript>document.domain=“utexas.edu”;</SCRIPT>”改变为<SCRIPTLANGUAGE=JavaScript>dompainDiscable=“utexas.edu”;document.domain=“server.com”;</SCRIPT>。
软件程序5还可以中介处理cookie,使得在以后重放用户的路径时,中间服务器10能够向网页35转发合适的cookie。在步100,软件程序5可以在http头信息中保存任何cookie,以及随网页35的内容发出的cookie的创建细节。软件程序5将把这个信息保留在数据库15中。cookie一般包含网页35希望在计算机上存储的特定的一组信息,例如日期。另外,cookie可以包括cookie的持续时间,cookie是否是安全的以及应当能利用所述cookie的网页。在用户将来作出请求时,浏览器20则确定是否发出所述的cookie。如果所述cookie应当发出,则浏览器20发出存储在cookie中的所述特定信息组,例如日期,但是不发送cookie的创建细节、持续时间或者cookie的可用性。因为向目标网服务器30发出的对网页35的实际请求从中间服务器10发出,所以中间服务器10必须能够确定一个特定的cookie是否应当发给网页35。
至少有两个基本方法用于使cookie能够由网页35设置在浏览器20中。在第一个方法中,目标网服务器30在http响应头信息中发出cookie和cookie的创建细节。在这种情况下,软件程序5可以从头信息中直接捕捉cookie和其创建细节。当用户通过中间服务器10对网页35作出一个附加请求时,软件程序5可以检查cookie是否应当被包括在这种对网页35的附加请求中。第二种方法是使用JavaScript设置cookie。例如,在网页35的内容中嵌入的脚本可以读作:
<SCRIPTLANGUAGE=JavaScript>
var expires=new Date0;
expires.setTime(expires.getTime0+1000*60*60*24);
document.cookie=“visited=”+newDate0+“;expires=”+
expires.toGMTString0;
</SCRIPT>
在上述的例子中,如果网页35被用户在三月三日(March 3)第一次加载,则cookie将记住这个事实。此外,cookie能够被设置在某一天到期。如果用户对网页作出附加请求,则浏览器20将确定被访问的cookie是否应当发回。如果应当发回,则浏览器20将简单地回发回“March 3”。不过,因为中间服务器10向目标网服务器30作出对网页35的内容的实际请求,软件程序5必须能够确定cookie是否应当被发送。因为访问的日期和到期时间现在被设置在浏览器20上,浏览器20将不随每个请求发送这个信息。因此,软件程序5必须能够捕捉在脚本的document.cookie行中包含的访问日期和到期信息。此外,软件程序5应当保证1)cookie是能够与其它的可能被软件程序5使用的cookie相区别的,以及2)cookie应当因为其域和中间服务器10的域匹配而被发送。为了实现这些目标,软件程序5可中介处理JavaScript,从而设置两个cookie。中介处理JavaScript可以采用以下的形式:
<SCRIPTLANGUAGE=JavaScript>
var expires=new Date0;
expires.setTime(expires.getTime0+1000*60 60*24);
ServerCookie=“viSited=”+newDate0+“;expires=”+
expires.toGMTString0;ServerSetCookie(1);
</SCRIPT>
在原始脚本中的document.cookie行已经被改变为ServerCookie,其是一个变量,而不是被直接设置的。可以使用ServerSetCookie函数来设置网页35想要设置的cookie和包含网页35想要设置的cookie的所有创建细节(例如到期日期,可以利用cookie的页,等)的第二cookie。同样,以在三月三日(March 3)请求网页35的用户为例,在中介处理之前,浏览器20应当只发送了“March 3”。在JavaScript由软件程序5中介处理之后,浏览器20将和cookie的创建细节一道发回“March 3”。因为包括创建细节,软件程序5将知道是否向网页35发送cookie。软件程序5将在数据库15中保存用于设置cookie的字符串和当前日期。通过得知当前日期和创建细节,在以后重放用户的路径时,软件程序5将能够确定发送cookie的合适的时间范围。例如,如果当前日期是十月十七日(October 17),则软件程序5可向网页35发送“October 17”,并修改cookie,使得cookie在10月18日到期而不是在3月4日到期。
软件程序5还可以绕开在某些网服务器例如IIS中的限制,即对于可以用于表示表单“GET”提交(form“GET”Submission)的字符数量的限制。如果网页35含有表单GET提交,则软件程序5在步110可以把表单GET改变为表单POST提交,因为POST没有字符数量的限制。软件程序5还标记哪些表单提交(form submission)已被从GET改变为POST,使得当重放用户的路径时,被标记的表单提交可以从POST变回GET。所述标记可以用与步70中相同的标记方式进行。
在步120,软件程序5可以中介处理定位响应头信息(其指向URL)以便把浏览器20重新指向中间服务器10,而不是目标网服务器30。这样作使得如果一个特定的网站使浏览器20重新指向另一个网站,则浏览器20可代之以重新指向中间服务器10。所述中介处理可以用与步60相同的方式进行。
在完成50-120所有的步骤或其一个子集之后,软件程序5可以结束示教会话。当用户表示其示教会话完成时,例如通过点击“endteaching”(示教结束)按钮,或者当用户已作出预定数量的请求时,示教会话可以结束。在整个示教会话的过程中,软件程序5在数据库15中编辑了一个请求历史记录,其中包括保存的URL请求和相应的数据,例如cookie,头信息和表单参数。这个请求历史记录可以供以后用于重放用户通过动态和静态网页的路径。
虽然已经对本发明作了详细说明,但是应当理解,不脱离由权利要求限定的本发明的范围和构思,可以作出各种改变和改型。

Claims (24)

1.一种用于在中间服务器对网页进行中介处理的方法,包括:
从目标网服务器检索所述网页;
保证网页不被缓存;
改变网页中的动态链接,使之指向所述中间服务器;
其中,所述动态链接不与锚定标记相关联。
2.如权利要求1所述的方法,其中所述动态链接是相对链接,并且改变网页中的相对链接的步骤还包括:
如果所述相对链接含有一个基地址标记,则修改所述基地址标记,使之指向所述中间服务器;以及
如果该相对链接不含有所述基地址标记,则插入一个基准基地址标记,其中所述基准基地址标记指向所述中间服务器。
3.如权利要求1所述的方法,其中保证网页不被缓存的步骤包括将所述网页设置为立即到期的步骤。
4.如权利要求1所述的方法,其中所述动态链接是绝对URL,并且该方法还包括按照协议识别绝对URL的步骤。
5.如权利要求1所述的方法,其中改变动态链接使之指向中间服务器的步骤还包括使用不同于目标网服务器主机名的主机名来确定和所述网页相关的目标网服务器的步骤。
6.如权利要求1所述的方法,其中改变动态链接使之指向中间服务器的步骤还包括使用端口来确定和所述网页相关的目标网服务器的步骤。
7.如权利要求1所述的方法,还包括:
按照网页中的资源的源标记识别资源类型;以及
标记所述资源类型。
8.如权利要求1所述的方法,还包括改变document.domain脚本命令,使之指向所述中间服务器的一个域。
9.如权利要求1所述的方法,还包括利用错误消息代替不支持的链接。
10.如权利要求1所述的方法,还包括在所述中间服务器记录第一cookie的一组创建细节。
11.如权利要求10所述的方法,其中从http头信息中记录所述一组创建细节。
12.如权利要求1所述的方法,还包括:
在所述中间服务器记录第一cookie的一组创建细节;以及
使一个浏览器向所述中间服务器发送一个第二cookie,其中该第二cookie包括第一cookie的所述一组创建细节。
13.如权利要求1所述的方法,还包括把表单GET提交改变为表单POST提交。
14.一种用于在中间服务器对网页进行中介处理的方法,包括:
从目标网服务器中检索所述网页;
保证该网页不被缓存;
按照协议识别网页中的绝对URL;以及
改变所述绝对URL,使之指向所述中间服务器。
15.如权利要求14所述的方法,还包括改变所述网页中的相对URL,使之指向所述中间服务器。
16.如权利要求14所述的方法,还包括记录一个cookie的一组创建细节。
17.如权利要求14所述的方法,其中保证网页不被缓存的步骤包括设置所述网页使之立即到期的步骤。
18.一种用于在中间服务器对网页进行中介处理的方法,包括:
从目标网服务器中检索所述网页;
保证网页不被缓存;
改变网页中的相对链接,使之指向所述中间服务器,该改变网页中的相对链接的步骤还包括:
如果所述相对链接含有一个基地址标记,则修改所述基地址标记,使之指向所述中间服务器;以及
如果所述相对链接不含有所述基地址标记,则插入一个基准基地址标记,其中所述基准基地址标记指向所述中间服务器。
19.如权利要求18所述的方法,还包括改变绝对URL,使之指向所述中间服务器。
20.如权利要求18所述的方法,还包括记录一个cookie的一组创建细节。
21.如权利要求18所述的方法,其中保证网页不被缓存的步骤包括设置所述网页使之立即到期的步骤。
22.一种用于在中间服务器对网页进行中介处理的方法,包括:
接收来自目标网服务器的网页;
保证该网页不被缓存;
改变网页中的绝对动态URL,使之指向所述中间服务器,其中,基于协议识别该绝对动态URL,以及
改变网页中的相对URL,使之指向所述中间服务器。
23.如权利要求22所述的方法,还包括记录一个cookie的一组创建细节。
24.如权利要求22所述的方法,其中保证网页不被缓存的步骤包括设置所述网页使之立即到期的步骤。
CNB008168172A 1999-11-12 2000-11-13 用于对网页进行中介处理的系统和方法 Expired - Lifetime CN1249608C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16510399P 1999-11-12 1999-11-12
US16510299P 1999-11-12 1999-11-12
US60/165,102 1999-11-12
US60/165,103 1999-11-12

Publications (2)

Publication Number Publication Date
CN1433549A CN1433549A (zh) 2003-07-30
CN1249608C true CN1249608C (zh) 2006-04-05

Family

ID=26861109

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB008168571A Expired - Lifetime CN100336031C (zh) 1999-11-12 2000-11-10 用于重放预先确定的通过互联网的路径的方法
CNB008168172A Expired - Lifetime CN1249608C (zh) 1999-11-12 2000-11-13 用于对网页进行中介处理的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB008168571A Expired - Lifetime CN100336031C (zh) 1999-11-12 2000-11-10 用于重放预先确定的通过互联网的路径的方法

Country Status (9)

Country Link
EP (2) EP1337920B9 (zh)
JP (3) JP4729218B2 (zh)
KR (2) KR20030040192A (zh)
CN (2) CN100336031C (zh)
AU (2) AU1479101A (zh)
CA (2) CA2391426A1 (zh)
ES (1) ES2536318T3 (zh)
HK (1) HK1054103B (zh)
WO (2) WO2001035222A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631102B2 (en) 1999-11-12 2009-12-08 Bmc Software, Inc. System and method of mediating a web page

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002320311A1 (en) * 2001-07-06 2003-01-21 Clickfox, Llc Use of various methods to reconstruct experiences of web site visitors
US7624176B2 (en) * 2004-10-14 2009-11-24 International Business Machines Corporation Method and system for programmatically generating synthetic transactions to monitor performance and availability of a web application
CN100392649C (zh) * 2004-12-31 2008-06-04 北京联动在线通讯科技有限公司 对屏幕显示的特定匹配词语实现快速链接的方法
US7607092B2 (en) 2005-05-27 2009-10-20 Nexquest, Inc. Integrated method and system for accessing and aggregating disparate remote server services
GB0601939D0 (en) 2006-01-31 2006-03-15 Speed Trap Com Ltd Website monitoring and cookie setting
US8898309B2 (en) 2006-01-31 2014-11-25 Speed-Trap.Com Ltd. Website monitoring and cookie setting
US7991891B2 (en) * 2006-02-02 2011-08-02 Microsoft Corporation Version-specific content searching
JP4849929B2 (ja) 2006-03-28 2012-01-11 富士通株式会社 シナリオ作成プログラム
JP4805199B2 (ja) * 2007-03-20 2011-11-02 富士通株式会社 シナリオ作成プログラム及びシナリオ作成装置
US8200752B2 (en) * 2009-12-23 2012-06-12 Citrix Systems, Inc. Systems and methods for policy based transparent client IP insertion
CN104360942A (zh) * 2014-11-07 2015-02-18 电信科学技术第十研究所 一种表单测试的计算机实现的方法、计算机及系统
ES2728292T3 (es) 2016-05-17 2019-10-23 Nolve Dev S L Servidor y método para proporcionar un acceso seguro a servicios basados en la red
CN109656475A (zh) * 2018-12-03 2019-04-19 郑州云海信息技术有限公司 一种自动关闭cache的方法、装置、终端及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2661562B2 (ja) * 1994-10-11 1997-10-08 日本電気株式会社 プログラム評価装置
US5752022A (en) * 1995-08-07 1998-05-12 International Business Machines Corp. Method for creating a hypertext language for a distributed computer network
JPH0962704A (ja) * 1995-08-30 1997-03-07 Hitachi Ltd リンク構造情報のノード動作設定方法
GB9603582D0 (en) * 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US5974572A (en) * 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
JP3646471B2 (ja) * 1997-05-14 2005-05-11 日本電信電話株式会社 情報提供方法及び個人適応情報提供サーバ及び情報提供プログラムを格納した記憶媒体
JPH1139205A (ja) * 1997-07-18 1999-02-12 Hitachi Ltd ハイパーテキストの処理システム
JPH11175446A (ja) * 1997-12-10 1999-07-02 Fuji Xerox Co Ltd データ中継装置、要求中継装置、データ通信システム、データ中継プログラムを記録したコンピュータ読み取り可能な記録媒体及び要求中継プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11175442A (ja) * 1997-12-11 1999-07-02 Fuji Xerox Co Ltd データ中継装置、情報端末装置、データ中継プログラムを記録したコンピュータ読み取り可能な記録媒体及び情報閲覧プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11203226A (ja) * 1998-01-09 1999-07-30 Sharp Corp ハイパーテキスト保存装置及びハイパーテキスト保存装置制御プログラムを記憶した媒体
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
JPH11265344A (ja) * 1998-03-17 1999-09-28 Digital Vision Laboratories:Kk コンピュータ・ネットワークを利用したサービス提供システム
US6278966B1 (en) * 1998-06-18 2001-08-21 International Business Machines Corporation Method and system for emulating web site traffic to identify web site usage patterns
US6138157A (en) * 1998-10-12 2000-10-24 Freshwater Software, Inc. Method and apparatus for testing web sites
US6954783B1 (en) 1999-11-12 2005-10-11 Bmc Software, Inc. System and method of mediating a web page

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631102B2 (en) 1999-11-12 2009-12-08 Bmc Software, Inc. System and method of mediating a web page

Also Published As

Publication number Publication date
CA2391417A1 (en) 2001-05-17
KR20020075369A (ko) 2002-10-04
EP1337920A2 (en) 2003-08-27
AU1479101A (en) 2001-06-06
JP2003530625A (ja) 2003-10-14
WO2001035259A3 (en) 2003-12-11
CA2391426A1 (en) 2001-05-17
EP1337920B9 (en) 2015-05-27
ES2536318T3 (es) 2015-05-22
CN1589434A (zh) 2005-03-02
WO2001035259A2 (en) 2001-05-17
JP4729218B2 (ja) 2011-07-20
JP5010081B2 (ja) 2012-08-29
KR100748770B1 (ko) 2007-08-13
JP5010747B2 (ja) 2012-08-29
WO2001035222A3 (en) 2003-06-05
HK1054103B (zh) 2015-07-31
AU1761801A (en) 2001-06-06
WO2001035222A2 (en) 2001-05-17
JP2011118938A (ja) 2011-06-16
EP1390870A2 (en) 2004-02-25
HK1054103A1 (zh) 2003-11-14
CN100336031C (zh) 2007-09-05
KR20030040192A (ko) 2003-05-22
JP2004500629A (ja) 2004-01-08
EP1337920B1 (en) 2015-02-25
CN1433549A (zh) 2003-07-30

Similar Documents

Publication Publication Date Title
US6954783B1 (en) System and method of mediating a web page
US7085817B1 (en) Method and system for modifying requests for remote resources
US7865843B2 (en) Dynamic toolbar for markup language document
US7039699B1 (en) Tracking usage behavior in computer systems
KR100612711B1 (ko) 캐싱된 웹 콘텐츠의 풍부한 웹 서버 활동 데이터 수집
CA2734774C (en) A user-transparent system for uniquely identifying network-distributed devices without explicitly provided device or user identifying information
US6338096B1 (en) System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources
US7600027B2 (en) Managing multiple sessions for a user of a portal
CN1249608C (zh) 用于对网页进行中介处理的系统和方法
Abd Wahab et al. Data pre-processing on web server logs for generalized association rules mining algorithm
US20030093400A1 (en) Method for updating a database from a browser
US20080222244A1 (en) Method and apparatus for acceleration by prefetching associated objects
US20020078165A1 (en) System and method for prefetching portions of a web page based on learned preferences
US20110131478A1 (en) Method and system for modifying script portions of requests for remote resources
CN1234086C (zh) 用于高速缓存文件信息的系统和方法
US20080147875A1 (en) System, method and program for minimizing amount of data transfer across a network
CN110855766A (zh) 一种访问Web资源的方法、装置及代理服务器
US8090702B2 (en) Analyzing web site traffic
WO2002027552A2 (en) Enhanced browsing environment
KR100429558B1 (ko) 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트
CN116405363A (zh) 一种浏览器登录信息优化方法及其系统
Souders High Performance Web Sites: Want to make your Web site fly? Focus on front-end performance.
WO2000079435A1 (en) Site identification system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060405