專利名稱:用于服務(wù)資源定位符的請(qǐng)求的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及萬(wàn)維網(wǎng)事務(wù)的能力支持。
背景技術(shù):
“站點(diǎn)跳轉(zhuǎn)”和“后退按鈕”問(wèn)題是在萬(wàn)維網(wǎng)站點(diǎn)上運(yùn)行的很多電子商務(wù)應(yīng)用的問(wèn)題。用戶需要以特定次序與網(wǎng)站的頁(yè)面交互,以便執(zhí)行有效的事務(wù)。應(yīng)付這些問(wèn)題的現(xiàn)有措施典型地依賴于客戶端瀏覽器,其可能被危害而違反網(wǎng)站的完整性。
當(dāng)前在萬(wàn)維網(wǎng)服務(wù)器中使用的認(rèn)證措施通常使用訪問(wèn)控制機(jī)制來(lái)實(shí)現(xiàn)。訪問(wèn)控制列表將用戶名及其相關(guān)聯(lián)的密碼制成表格。應(yīng)用服務(wù)器將由用戶提供的用戶名和密碼與在該訪問(wèn)控制列表中所存儲(chǔ)的這些信息進(jìn)行匹配。這樣的基于訪問(wèn)控制的機(jī)制不能針對(duì)要求更復(fù)雜或高級(jí)的功能性的應(yīng)用而適當(dāng)?shù)財(cái)U(kuò)展。
在1999年11月23號(hào)頒發(fā)給Microsoft公司且發(fā)明名稱為“Methodand System for invoking methods of objects over the internet”的美國(guó)專利申請(qǐng)第5,991,802號(hào)中,概述了解決使用用戶名和密碼的限制的一種嘗試。該參考文獻(xiàn)描述了客戶端計(jì)算機(jī)系統(tǒng)調(diào)用由服務(wù)器計(jì)算機(jī)系統(tǒng)提供的對(duì)象類的對(duì)象的函數(shù)??蛻舳讼蚍?wù)器發(fā)送請(qǐng)求,其中該請(qǐng)求包括標(biāo)識(shí)腳本、對(duì)象類和要調(diào)用的該對(duì)象類的函數(shù)的統(tǒng)一資源定位符(“URL”)。響應(yīng)于接收到該請(qǐng)求,服務(wù)器啟動(dòng)腳本并且將控制轉(zhuǎn)移給該腳本。
該腳本實(shí)例化在所接收請(qǐng)求的URL中標(biāo)識(shí)的對(duì)象類的對(duì)象,并且調(diào)用在該URL中標(biāo)識(shí)的函數(shù)。所調(diào)用的函數(shù)執(zhí)行該函數(shù)的行為,創(chuàng)建要發(fā)送給客戶端瀏覽器的響應(yīng),并且將該響應(yīng)發(fā)送給客戶端瀏覽器。該響應(yīng)包括描述在執(zhí)行該函數(shù)的行為之后的對(duì)象狀態(tài)的狀態(tài)信息。當(dāng)客戶端瀏覽器隨后發(fā)送要調(diào)用該對(duì)象類的函數(shù)的請(qǐng)求時(shí),將該狀態(tài)信息包含在該請(qǐng)求中,從而該函數(shù)可以根據(jù)該狀態(tài)信息操作。雖然在該參考文獻(xiàn)中描述的“狀態(tài)-滿(state-full)”在很多上下文中是有幫助的,但是特別是對(duì)于基于萬(wàn)維網(wǎng)的應(yīng)用,它只提供了基本級(jí)別的處理性能。
因此,需要在電子網(wǎng)絡(luò)上執(zhí)行事務(wù)的改進(jìn)方式。
發(fā)明內(nèi)容
在此描述的技術(shù)使得萬(wàn)維網(wǎng)服務(wù)器能夠提供對(duì)網(wǎng)站資源的受控訪問(wèn)??梢栽谑聞?wù)中防止無(wú)序操作,從而提供了分布式認(rèn)證機(jī)制。訪問(wèn)控制可以跨越多個(gè)管理域來(lái)實(shí)現(xiàn)。可以確保對(duì)網(wǎng)站資源的有序訪問(wèn),從而限制客戶端瀏覽器以特定順序訪問(wèn)資源。
接收資源定位符(例如,統(tǒng)一資源定位符-URL-或類似引用),其加入了根據(jù)預(yù)定格式結(jié)構(gòu)化的控制信息。根據(jù)預(yù)定格式,從資源定位符確定該控制信息。可以使用多種格式,其中每種格式適合于特定網(wǎng)站所提供的特定類型的請(qǐng)求或事務(wù)。根據(jù)所加入的控制信息來(lái)處理資源定位符,其指導(dǎo)(govern)如何處理資源定位符請(qǐng)求。然后,系統(tǒng)可以響應(yīng)所請(qǐng)求的資源定位符。
控制信息可以指定如下細(xì)節(jié),即對(duì)于特定次數(shù)的資源定位“點(diǎn)擊”、對(duì)于給定時(shí)間段、或者對(duì)于特定數(shù)目的事務(wù),所定位資源的有效性。類似地,控制信息可以指定只有特定的細(xì)節(jié)可以被訪問(wèn)或者只以特定次序被訪問(wèn)。在控制信息中所編碼的限制被裁制(tailor)成適合特定應(yīng)用。
所述技術(shù)可以在萬(wàn)維網(wǎng)服務(wù)器和應(yīng)用服務(wù)器之間“透明地”實(shí)現(xiàn),并且可以被加入到現(xiàn)有網(wǎng)站的操作中而無(wú)需大量的修改。
圖1是實(shí)現(xiàn)在此所描述的性能支持特性的網(wǎng)關(guān)CGI組件的各組件的示意圖。
圖2是在處理加入了訪問(wèn)控制信息的類型1URL時(shí)所涉及的各步驟的流程圖。
圖3是在處理加入了訪問(wèn)控制信息的類型2和3URL時(shí)所涉及的各步驟的流程圖。
圖4是用于參照?qǐng)D1所描述的類型的示例網(wǎng)關(guān)CGI組件的事件跟蹤(event-trace)。
圖5是適用于執(zhí)行在此所描述的技術(shù)的計(jì)算機(jī)系統(tǒng)的示意圖。
具體實(shí)施例方式
圖1示意性地表示加入到現(xiàn)有萬(wàn)維網(wǎng)服務(wù)器架構(gòu)中的網(wǎng)關(guān)CGI組件130。網(wǎng)關(guān)CGI組件130在萬(wàn)維網(wǎng)服務(wù)器120和應(yīng)用服務(wù)器190之間工作。網(wǎng)關(guān)CGI組件130修改現(xiàn)有統(tǒng)一資源定位符(URL)結(jié)構(gòu),以加入能力控制信息(CCI),并且還在URL被提供給網(wǎng)關(guān)CGI組件130時(shí)驗(yàn)證在URL中編碼的“能力”。
能力使用CCI嵌入在所述URL中。這些能力可以包括僅對(duì)特定數(shù)目的“點(diǎn)擊”的有效性、對(duì)給定時(shí)間段的有效性、對(duì)特定數(shù)目的事務(wù)的有效性、訪問(wèn)特定資源的授權(quán)、以及訪問(wèn)這些資源的次序。可以根據(jù)需要來(lái)指定和處理各種能力。
能力包括用戶事務(wù)的“權(quán)限”的集合。CCI可以被安全地加密,以確保能力不能被重建(reconstruct)。實(shí)現(xiàn)這點(diǎn)的一種方法是確保CCI攜帶URL的校驗(yàn)和,從而阻止用戶篡改或偽造在URL中所加入的CCI。
加入了CCI的URL的擁有被認(rèn)為是用戶可以以由CCI描述的方式并且僅以該方式執(zhí)行事務(wù)的確鑿證據(jù)。加入了CCI的URL可以被簽名和加密,因此不易于被“偽造”。
CCI可以以如下方式進(jìn)行編碼經(jīng)由網(wǎng)站從應(yīng)用服務(wù)器190可得到的每個(gè)資源具有與源相關(guān)聯(lián)的能力。能力可以以二進(jìn)位形式表示,主要是二進(jìn)制1或0。二進(jìn)制“1”表示資源可以被訪問(wèn),而二進(jìn)制“0”表示資源不能被訪問(wèn)。只有在URL中所加入的CCI所指定的能力是該URL正在引用的資源的能力的超集或等集,才允許客戶端110訪問(wèn)該資源。如果資源具有相關(guān)聯(lián)的能力,并且客戶端110不具有在相關(guān)URL中所加入的CCI中指定的所需能力,則不如URL所請(qǐng)求的那樣處理該請(qǐng)求。
因此,站點(diǎn)A可以生成基于能力的安全URL(也就是,加入CCI)并且將這樣的URL分發(fā)給其用戶。然后,這些用戶可以在網(wǎng)站B處提供這些安全URL。基于能力的URL攜帶在網(wǎng)站B處所需的控制信息。
網(wǎng)關(guān)CGI組件130在后端數(shù)據(jù)庫(kù)170和配置文件160的幫助下施加能力限制。不是萬(wàn)維網(wǎng)服務(wù)器120將在URL中指定的所請(qǐng)求資源直接轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器190,而是將請(qǐng)求發(fā)送給網(wǎng)關(guān)CGI組件130,其中網(wǎng)關(guān)CGI組件130參考在客戶端110最初提供的URL中所編碼的CCI,確保不違反任何相關(guān)“能力”。
在確定不存在能力違反之后,網(wǎng)關(guān)CGI組件130將所加入的CCI從URL中去除,并且將此時(shí)修改后的“常規(guī)”URL重定向到應(yīng)用服務(wù)器190。相反地,網(wǎng)關(guān)CGI組件130截取來(lái)自應(yīng)用服務(wù)器190的所有結(jié)果頁(yè)面,并且修改在URL中所包含的超鏈接,以適當(dāng)?shù)丶尤隒CI。網(wǎng)關(guān)CGI組件130對(duì)于萬(wàn)維網(wǎng)服務(wù)器120和應(yīng)用服務(wù)器190是“不可見(jiàn)”的。這樣,這種方案可以提供跨越多個(gè)管理域的事務(wù)能力。
可以是常規(guī)URL或加入了CCI的URL的每個(gè)URL請(qǐng)求首先被提供給萬(wàn)維網(wǎng)服務(wù)器120。萬(wàn)維網(wǎng)服務(wù)器120檢查客戶110請(qǐng)求訪問(wèn)的資源是否在沒(méi)有能力控制限制的情況下被服務(wù)。如果客戶端110請(qǐng)求訪問(wèn)具有關(guān)聯(lián)能力的資源,但是URL請(qǐng)求不是包括了任何CCI的URL,則萬(wàn)維網(wǎng)服務(wù)器120在將該請(qǐng)求記錄在日志中以便進(jìn)一步調(diào)試之后,將錯(cuò)誤頁(yè)返回給客戶端110。普通URL請(qǐng)求被直接提供給應(yīng)用服務(wù)器190。各種資源的能力存儲(chǔ)在配置文件160中,其可以被網(wǎng)關(guān)CGI組件130訪問(wèn)。該網(wǎng)關(guān)CGI組件130在萬(wàn)維網(wǎng)服務(wù)器120上執(zhí)行。然而,網(wǎng)關(guān)CGI組件130也可以在應(yīng)用服務(wù)器190上或者在萬(wàn)維網(wǎng)服務(wù)器120和應(yīng)用服務(wù)器190之間的任何地方執(zhí)行。
應(yīng)用服務(wù)器190執(zhí)行后端處理并且返回結(jié)果頁(yè)面。另一方面,如果將加入了CCI的URL提供給萬(wàn)維網(wǎng)服務(wù)器120,則萬(wàn)維網(wǎng)服務(wù)器120使用該URL調(diào)用網(wǎng)關(guān)CGI組件130,以便進(jìn)一步處理CCI。
網(wǎng)關(guān)CGI組件130將加入了CCI的URL視為來(lái)自萬(wàn)維網(wǎng)服務(wù)器120的輸入,并且執(zhí)行特定處理。能力限制的違反將發(fā)送錯(cuò)誤頁(yè)給萬(wàn)維網(wǎng)服務(wù)器120并且將請(qǐng)求記錄在日志中以便將來(lái)調(diào)試。相反地,如果沒(méi)有違反能力,則將排除了CCI的所請(qǐng)求URL轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器190,以便執(zhí)行進(jìn)一步的基于事務(wù)的處理。
一旦處理完成,應(yīng)用服務(wù)器190將結(jié)果頁(yè)面返回給網(wǎng)關(guān)CGI組件130。修改該結(jié)果頁(yè)面中的所有超鏈接,以加入適當(dāng)?shù)腃CI。修改由頁(yè)面修改器180來(lái)執(zhí)行,該頁(yè)面修改器180修改超鏈接,以加入CCI和狀態(tài)信息,以將超鏈接變成類型-2URL。最后,通過(guò)萬(wàn)維網(wǎng)服務(wù)器120將修改后的結(jié)果頁(yè)面發(fā)送回到客戶端110。
網(wǎng)關(guān)CGI組件130可以采用CGI腳本或Java小服務(wù)程序(Servlet)來(lái)實(shí)現(xiàn),并且可以以與其它組件相同的方式加入到現(xiàn)有萬(wàn)維網(wǎng)服務(wù)器120中。網(wǎng)關(guān)CGI組件130可以在萬(wàn)維網(wǎng)服務(wù)器120內(nèi)執(zhí)行,或者用截取從萬(wàn)維網(wǎng)服務(wù)器120到應(yīng)用服務(wù)器190的請(qǐng)求的中間服務(wù)器來(lái)執(zhí)行,或者可以作為應(yīng)用服務(wù)器190的前端接口來(lái)執(zhí)行。
在URL中編碼CCI在URL中所加入的CCI對(duì)特定于具體應(yīng)用的控制信息進(jìn)行編碼。在基于萬(wàn)維網(wǎng)的事務(wù)的上下文中,對(duì)于典型應(yīng)用出現(xiàn)的例子包括URL有效的事務(wù)數(shù),URL有效的持續(xù)時(shí)間,表示可被訪問(wèn)的資源的能力信息,以及所使用的加密模式。通過(guò)添加例如可以是簡(jiǎn)單校驗(yàn)和的加密模式,URL是安全的。所加入的實(shí)際信息特定于每個(gè)具體應(yīng)用,不過(guò)由于這些應(yīng)用的共同性,很多應(yīng)用可以使用類似的控制信息。
下面表1提供了三種加入了CGI的URL的各自格式,下面將對(duì)每種格式進(jìn)行進(jìn)一步的描述。類型1URL具有在不同的網(wǎng)站(可能是不同的管理域)發(fā)起新事務(wù)的能力。類型2URL用于繼續(xù)正在進(jìn)行的事務(wù)。類型3URL加入特殊的“自動(dòng)-加載”URL如內(nèi)聯(lián)圖像(HTTP超文本傳輸協(xié)議中的IMG-SRC)以及帶框架的頁(yè)面。
表1類型1URL-初始URL<Protocol>//<Domain-name>/<gc-path>/<Document-path>/<Capabilities>/<IssuerID>/<Generation-Time>/<Max-Age>
/<Number-of-access>/1/<Cryptographic-authentication>
類型2URL-正在進(jìn)行的事務(wù)-URL<Protocol>//<Domain-name>/<gc-path>/<Document-path>/<Expiry-Time>/<Transaction-Index>/<Transaction-State>/2/<Cryptographic-authentication>
類型3URL-SRC事務(wù)URL<Protocol>//<Domain-name>/<gc-path>/<Document-path>//<Expiry-Time>/<Transaction-Index>/<Transaction-State>/3/<Cryptographic-authentication>
對(duì)于所有類型的URL公共的是“Protocol”字段,其是指用于在因特網(wǎng)上通信的相關(guān)協(xié)議,例如HTTP、HTTPS、SHTTP或FTP?!癉omain-name”字段是指用點(diǎn)號(hào)(“.”)分隔的域標(biāo)簽序列。按照慣例,每個(gè)域標(biāo)簽以字母數(shù)字字符開(kāi)始和結(jié)束,并且可能還包括短劃線(“-”)字符?!癵c-path”字段是指萬(wàn)維網(wǎng)服務(wù)器120上網(wǎng)關(guān)CGI組件130的位置,而“Document-path”字段是指文件可被訪問(wèn)的路徑。“1”、“2”、“3”字段用于區(qū)分URL的各自類型。下面將更詳細(xì)地描述這些類型的URL中的每一個(gè)。
類型1URL帶CCI的類型1URL是在萬(wàn)維網(wǎng)服務(wù)器120處生成的初始URL。例如在事務(wù)的開(kāi)始時(shí)使用類型1URL。這些URL可以被分發(fā)給所有客戶端110或僅僅特定客戶端110。
“Generation-Time”和“Max-Age”字段確定URL何時(shí)“期滿”,也就是,由“Generation-Time”和“Max-Age”的組合所表示的時(shí)間,在此之后,URL所表示的資源不能被訪問(wèn)?!癗umber-of-access”字段是指URL有效的事務(wù)數(shù)。同樣地,在先前訪問(wèn)了指定次數(shù)之后,該URL所表示的資源不能被訪問(wèn)。
“Capabilities”字段是指定URL能力的二進(jìn)制位串。萬(wàn)維網(wǎng)服務(wù)器120的管理員可以在配置文件160中指定萬(wàn)維網(wǎng)服務(wù)器120的各個(gè)資源的所需能力。只有URL的能力是訪問(wèn)特定資源所需的能力的超集,請(qǐng)求才被服務(wù)。
“IssuerID”字段是萬(wàn)維網(wǎng)服務(wù)器120的用戶標(biāo)識(shí)符,其簽發(fā)/生成了該加入了CCI的URL。“Cryptographic-authentication”字段用來(lái)阻止用戶篡改URL,這是因?yàn)樵诓唤?jīng)過(guò)非同尋常的努力的情況下該字段不能被容易地復(fù)制?!癈ryptographic-authentication”字段可以基于秘密密鑰加密或密鑰化散列(keyed hash)。由于秘密密鑰加密需要消息認(rèn)證,因此系統(tǒng)不能加密URL,因此出于性能的原因,密鑰化散列是優(yōu)選的。其意圖是阻撓可能希望偽造URL的惡意用戶,因此隨同CCI一起,將加密模式添加到URL。一個(gè)這樣的加密模式例子是隨同URL一起附加的檢驗(yàn)和。這避免了惡意用戶偽造URL。惡意用戶可以通過(guò)修改出現(xiàn)在URL中的期滿日期或其它項(xiàng)目來(lái)修改URL,但是該措施防止了成功使用如此修改過(guò)的URL。
在密鑰化散列加密的情況下使用的密鑰是共享密鑰,加入了CCI的URL的簽發(fā)者/生成者與如上所述響應(yīng)來(lái)自客戶端110的萬(wàn)維網(wǎng)服務(wù)器120共享該密鑰。
類型2URL類型2URL用于“正在進(jìn)行的事務(wù)”。類型2URL加入了這樣的CCI,其向網(wǎng)關(guān)CGI組件130表示在數(shù)據(jù)庫(kù)170中正在引用哪個(gè)事務(wù)以及該事務(wù)的狀態(tài)。類型2URL具有“Transaction-Index”字段,其是數(shù)據(jù)庫(kù)170的字段中對(duì)應(yīng)條目的索引,從而當(dāng)點(diǎn)擊這些URL時(shí),可以將這些鏈接引用到數(shù)據(jù)庫(kù)170中的正確條目?!癊xpiry-Time”字段表示當(dāng)前事務(wù)被中止或無(wú)效的時(shí)間。
“State”字段表示正在進(jìn)行的事務(wù)的狀態(tài)。初始地,當(dāng)事務(wù)開(kāi)始時(shí),數(shù)據(jù)庫(kù)170的“狀態(tài)”為0。對(duì)于事務(wù)的每個(gè)隨后轉(zhuǎn)變(包括客戶端110的隨后訪問(wèn)),相應(yīng)地遞增該狀態(tài)。該狀態(tài)值存儲(chǔ)在類型2URL中,從而當(dāng)點(diǎn)擊這些類型2URL時(shí),通過(guò)數(shù)據(jù)庫(kù)字段170驗(yàn)證URL的狀態(tài)匹配數(shù)據(jù)庫(kù)170的狀態(tài)。這樣,可以約束客戶端110僅以特定次序訪問(wèn)URL。如果客戶端110試圖“保存”該URL,繼續(xù)事務(wù),并且想要在以后使用所保存的URL,則URL的狀態(tài)將不匹配存儲(chǔ)在數(shù)據(jù)庫(kù)170中的狀態(tài),并且將相應(yīng)地處理該請(qǐng)求,從而產(chǎn)生適當(dāng)?shù)腻e(cuò)誤。
在帶CCI的類型2URL中,通過(guò)僅為在其中執(zhí)行事務(wù)的萬(wàn)維網(wǎng)服務(wù)器120所知的局部密鑰來(lái)執(zhí)行密鑰化散列。
類型3URL類型3URL用于來(lái)自客戶端110的源(“SRC”)請(qǐng)求。這些URL也在URL是SRC請(qǐng)求時(shí)生成。這些SRC請(qǐng)求可以由于圖像、圖像映射、服務(wù)器側(cè)包含、以及使用HTTP發(fā)出的其它這樣的請(qǐng)求。類型2和類型3URL的格式是相同的。然而,當(dāng)請(qǐng)求類型3URL時(shí),因?yàn)樵谶壿嬌鲜聞?wù)尚未進(jìn)入新?tīng)顟B(tài)-而是在相同狀態(tài)下請(qǐng)求更多的頁(yè)面,所以不遞增數(shù)據(jù)庫(kù)170中的狀態(tài)。這些URL存在于正在進(jìn)行的事務(wù)的頁(yè)面上。
網(wǎng)關(guān)CGI組件的子組件圖1示意性地表示網(wǎng)關(guān)CGI組件130的各個(gè)子組件及其交互。網(wǎng)關(guān)CGI組件130具有以下內(nèi)部子組件·CCI生成組件155將常規(guī)URL轉(zhuǎn)換成加入了CCI的URL,其隨后被提供給網(wǎng)關(guān)CGI組件130,以便認(rèn)證。
·CCI驗(yàn)證組件140檢查在URL中加入的CCI的真實(shí)性。這確保了在由CCI生成組件155提供URL之后該URL未被篡改。
·能力確認(rèn)(validation)組件150檢查在URL中加入的CCI是否具有訪問(wèn)在URL中引用的資源的所需能力。
·頁(yè)面修改器組件180將適當(dāng)?shù)腃CI加入到作為從應(yīng)用服務(wù)器190接收的每個(gè)結(jié)果頁(yè)面的超鏈接而嵌入的URL中。
·配置文件160是包含關(guān)于萬(wàn)維網(wǎng)服務(wù)器120處的資源的能力信息的靜態(tài)配置文件。
·數(shù)據(jù)庫(kù)170用于存儲(chǔ)與能力和當(dāng)前事務(wù)狀態(tài)相關(guān)的數(shù)據(jù)。數(shù)據(jù)庫(kù)170還包含關(guān)于各個(gè)當(dāng)前事務(wù)的信息,例如其狀態(tài)、并行連接數(shù)、期滿時(shí)間等。
萬(wàn)維網(wǎng)服務(wù)器120首先將加入了CCI的URL提供給CCI驗(yàn)證組件140。CCI驗(yàn)證組件140檢查URL的數(shù)據(jù)完整性,并且饋送給能力確認(rèn)組件150。能力確認(rèn)組件150驗(yàn)證所有能力限制,并且將請(qǐng)求轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器190以便處理。最后,由頁(yè)面修改器組件180修改來(lái)自應(yīng)用服務(wù)器190的結(jié)果頁(yè)面,并且通過(guò)萬(wàn)維網(wǎng)服務(wù)器120將其發(fā)送到客戶端110。下面更詳細(xì)地描述網(wǎng)關(guān)CGI組件130的各個(gè)組件。
CCI生成CCI生成組件155與配置文件160交互,并且不參與網(wǎng)關(guān)CGI組件130的普通事務(wù)處理功能。網(wǎng)關(guān)CGI組件130的CCI生成組件155生成帶CCI的URL,其通過(guò)各種可能的信道被分發(fā)給客戶端110。例子包括網(wǎng)頁(yè)或電子郵件上的廣告鏈接。換句話說(shuō),CCI生成組件155生成帶CCI的類型1URL。給定普通URL,該CCI生成組件155包括以下能力信息對(duì)于給定時(shí)間段的有效性,對(duì)于特定數(shù)目的事務(wù)的有效性,訪問(wèn)來(lái)自萬(wàn)維網(wǎng)服務(wù)器120的某些資源的授權(quán)。然后,CCI生成組件155加密該信息。
在多站點(diǎn)交互的情況下,在兩個(gè)萬(wàn)維網(wǎng)服務(wù)器120之間共享密鑰。通過(guò)與能夠被訪問(wèn)的資源有關(guān)的CCI在配置文件160中提供該密鑰。其它CCI如有效期和有效事務(wù)數(shù)也在配置文件160中作為CCI被指定。所有這些信息在類型1的URL中被編碼,然后使用兩個(gè)萬(wàn)維網(wǎng)服務(wù)器120之間的共享密鑰被加密。
CCI驗(yàn)證首先由CCI驗(yàn)證組件140來(lái)驗(yàn)證提供給網(wǎng)關(guān)CGI組件130的包含加入了CCI的URL的每個(gè)請(qǐng)求。也就是,如果由一個(gè)萬(wàn)維網(wǎng)服務(wù)器120生成加入了CCI的URL,則使用私鑰來(lái)解密并且確保該內(nèi)容未被用戶篡改。如果加入了CCI的URL由無(wú)關(guān)管理域中的另一個(gè)萬(wàn)維網(wǎng)服務(wù)器120生成,則可以使用共享密鑰來(lái)解密并且檢查該數(shù)據(jù)是否真實(shí)。執(zhí)行解密的密鑰基于加入了CCI的URL中的“IssuerID”字段來(lái)確定。
如果簽名驗(yàn)證失敗,則通過(guò)萬(wàn)維網(wǎng)服務(wù)器120將錯(cuò)誤頁(yè)面提供給客戶端110。一旦成功驗(yàn)證,則將該URL發(fā)送給能力確認(rèn)組件150。
能力確認(rèn)網(wǎng)關(guān)CGI組件130的能力確認(rèn)組件150確保加入到URL中的CCI未“被違反”。數(shù)據(jù)庫(kù)170存儲(chǔ)兩個(gè)數(shù)據(jù)表(表2的“MainTable(主表)”和“VariableTable(變量表)”,如下所述)、以及配置文件160,其中配置文件160指定針對(duì)萬(wàn)維網(wǎng)服務(wù)器120的所有資源維護(hù)的能力信息?!癕ainTable”數(shù)據(jù)庫(kù)表包括關(guān)于能力的信息,而“VariableTable”數(shù)據(jù)庫(kù)表包含關(guān)于同時(shí)發(fā)生的多個(gè)正在進(jìn)行的并行事務(wù)的信息。下面的表2提供了MainTable和VariableTable數(shù)據(jù)庫(kù)表的內(nèi)容。
表2
“MainTable”中所存儲(chǔ)的字段是“GeneratedTime”(其是帶CCI的URL的創(chuàng)建時(shí)間)、以及“MaxAge”(其是該URL有效的持續(xù)時(shí)間),從而系統(tǒng)知道該URL何時(shí)期滿,并且由此能夠根據(jù)時(shí)間來(lái)限制對(duì)資源的訪問(wèn)?!癗umTimesLeft”字段也被維護(hù),從而URL可以不被使用超過(guò)最大允許事務(wù)數(shù)。用戶ID(UID)和URL文檔路徑被存儲(chǔ)以保持哪個(gè)其它網(wǎng)站生成了URL以便訪問(wèn)該網(wǎng)站的哪些部分的日志。然后,例如,可以根據(jù)這些參與網(wǎng)站之間的協(xié)定對(duì)這些外部網(wǎng)站進(jìn)行適當(dāng)?shù)氖召M(fèi)。
關(guān)于當(dāng)前事務(wù)的信息存儲(chǔ)在上面圖2表中表示的“VariableTable”中,該表中的基本字段是“State”字段。這個(gè)字段表示從“0”開(kāi)始的事務(wù)當(dāng)前狀態(tài)。字段“Time-To-Remove”是指在其之后中止并從VariableTable中去除當(dāng)前事務(wù)(對(duì)應(yīng)于該VariableTable條目)的時(shí)間。在類型2URL中,“Expiry”字段的值正好為VariableTable數(shù)據(jù)庫(kù)表的“Time-To-Remove”字段的值?!癇ack Ptr”字段是到對(duì)應(yīng)MainTable條目的外部鍵。VariableTable數(shù)據(jù)庫(kù)表還包含用于特定事務(wù)的能力信息。
數(shù)據(jù)庫(kù)170的MainTable中的字段“NumSimmConn”是指對(duì)應(yīng)于MainTable中的特定條目所發(fā)出的同時(shí)請(qǐng)求的當(dāng)前數(shù)目。這受限于“NumTimesLeft”的最大值,也就是,(對(duì)于該URL)剩余的事務(wù)數(shù)。保持該限制,從而即使通過(guò)淹沒(méi)(flooding)萬(wàn)維網(wǎng)服務(wù)器120,用戶也不能超過(guò)指定限制來(lái)訪問(wèn)事務(wù)。也就是,在與MainTable中的單個(gè)條目相對(duì)應(yīng)多個(gè)事務(wù)在應(yīng)用服務(wù)器190上運(yùn)行的情況下,網(wǎng)關(guān)CGI組件130允許更多的請(qǐng)求通過(guò)網(wǎng)關(guān)CGI組件130,因?yàn)椤癗umTimesLeft”不被頁(yè)面修改器180減小。這樣,多于所需數(shù)目的請(qǐng)求可被處理。這個(gè)字段確保了不允許超過(guò)最大數(shù)目的訪問(wèn)。
頁(yè)面修改器在應(yīng)用服務(wù)器190執(zhí)行后端處理之后,與VariableTable中的條目對(duì)應(yīng)的結(jié)果頁(yè)面被提供給頁(yè)面修改器組件180。然后,應(yīng)用服務(wù)器190解析整個(gè)文檔,并且修改該文檔中的超鏈接。
在結(jié)果頁(yè)面是最終頁(yè)面的情況下,頁(yè)面修改器組件180從VariableTable中去除對(duì)應(yīng)于正在進(jìn)行的事務(wù)的條目,從而表示事務(wù)的結(jié)束。另外,在MainTable中遞減“NumTimesLeft”字段。
在修改結(jié)果文檔其中結(jié)果文檔不是最終頁(yè)面之前,頁(yè)面修改器組件180還遞增VariableTable中的“State”字段。這樣做是為了避免狀態(tài)跳轉(zhuǎn)和后退按鈕的問(wèn)題。
頁(yè)面修改器組件180修改結(jié)果頁(yè)面中的超鏈接的URL。假如超鏈接為類型“IMG SRC”或參考框架,則頁(yè)面修改器組件180將這樣的超鏈接修改成帶CCI的類型3URL。從VariableTable中提取類型3URL所需的信息。否則,如果超鏈接不為類型“IMG SRC”,則該將該超鏈接轉(zhuǎn)換成帶CCI的類型2URL。
頁(yè)面修改器組件180知道與客戶端110的同時(shí)連接,并且能夠?qū)⒔Y(jié)果頁(yè)面與“VariableTable”中的對(duì)應(yīng)條目相關(guān)。最后,將結(jié)果頁(yè)面發(fā)送到萬(wàn)維網(wǎng)服務(wù)器120。
配置文件配置文件160是平面(flat)靜態(tài)文件,其包含用于網(wǎng)站所有資源的能力控制信息。資源可以作為正則表達(dá)式(regular expression)來(lái)表達(dá),并且能力信息被編碼成二進(jìn)制位串。還在配置文件160中指定表示事務(wù)最終狀態(tài)的頁(yè)面。
對(duì)于多個(gè)管理域,提供了關(guān)于共享密鑰、生成時(shí)間、最大年齡、URL有效的事務(wù)數(shù)以及URL能力的信息。網(wǎng)關(guān)CGI組件130的CCI生成組件155使用該信息生成用于其它域的帶CCI的URL。
用于處理URL的過(guò)程圖2是在處理類型1URL時(shí)所涉及的各步驟的流程圖,而圖3是在處理類型2和3URL時(shí)所涉及的各步驟的流程圖。
當(dāng)將帶CCI的類型1URL提供給能力確認(rèn)組件150時(shí),通過(guò)來(lái)自所請(qǐng)求URL的對(duì)應(yīng)條目在MainTable中生成一個(gè)條目,并且還在VariableTable中生成一個(gè)條目,從而表示事務(wù)的開(kāi)始。如果再次點(diǎn)擊相同的類型1URL,該URL僅被引用到相同的MainTable條目。不生成新的條目。然而,在VariableTable中生成新的條目,由此表示對(duì)應(yīng)于原始URL的另一個(gè)新事務(wù)的開(kāi)始。因此,對(duì)應(yīng)于MainTable中的每個(gè)條目,在VariableTable中可以存在若干條目。這表示存在與相同的初始類型1URL對(duì)應(yīng)的若干當(dāng)前并行事務(wù)。
最初,在VariableTable中“State”被設(shè)置為零。每次在事務(wù)中進(jìn)行轉(zhuǎn)變,也就是,請(qǐng)求事務(wù)中的下一資源,則能力確認(rèn)遞增狀態(tài)值,并且由此記錄正在進(jìn)行的事務(wù)的狀態(tài)。
當(dāng)加入了類型1URL被提供給能力確認(rèn)組件150時(shí),在步驟210檢查提供URL的時(shí)間是否小于在URL中加入的“Generation-Time”和“Max-Age”字段中記錄的值之和。
在步驟220確定所請(qǐng)求資源的能力是否是在URL中加入的CCI所指定的能力的子集。如果否,則在步驟280將錯(cuò)誤發(fā)送到萬(wàn)維網(wǎng)服務(wù)器。否則,處理進(jìn)入步驟230。
在滿足了步驟210和220的條件時(shí),在步驟230檢查在MainTable中是否已經(jīng)存在條目。然后,在步驟240確定MainTable中的“NumTimesLeft”值是否非零。如果是,則在TransactionTable(事務(wù)表)中添加新條目,其中“state”字段的值為零。然而,如果MainTable中的“NumTimesLeft”值為零,則在步驟280將錯(cuò)誤發(fā)送到萬(wàn)維網(wǎng)服務(wù)器120。
如果在步驟230中找不到這樣的條目,則在步驟260在MainTable和VaraibleTable數(shù)據(jù)庫(kù)表中生成條目,其中在VariableTable中“State”被初始化為零。然后,在從URL中去除CCI之后,將所請(qǐng)求的URL發(fā)送到應(yīng)用服務(wù)器190。
圖3是有關(guān)類型2或3URL的流程圖。首先在步驟310確定“Transaction-Index”是否是VariableTable的有效索引。接下來(lái),在步驟320,比較VariableTable中的“expiry-Time”與在URL的CCI中指定的時(shí)間。如果時(shí)間期滿,則在步驟370將錯(cuò)誤消息發(fā)送到萬(wàn)維網(wǎng)服務(wù)器。否則,如果時(shí)間有效,則針對(duì)整個(gè)事務(wù),對(duì)MainTable中的“GeneratedTime”和“Max Age”字段的值執(zhí)行另一個(gè)檢查。如果時(shí)間段不是當(dāng)前的,則在步驟370發(fā)送錯(cuò)誤。
否則,在步驟340從VariableTable的“State”字段中取出類型2(或類型3)URL中的字段“State”的值,并且將其與在URL的CCI中編碼的值。如果不匹配,則在步驟370發(fā)送錯(cuò)誤。否則,如果匹配,則每當(dāng)對(duì)于特定資源由性能確認(rèn)組件150接收到類型2(或類型3)URL請(qǐng)求時(shí),在步驟350將在VariableTable中所存儲(chǔ)的URL的能力與所請(qǐng)求資源的所需能力進(jìn)行比較。該能力被記錄在配置文件160中。只有URL具有訪問(wèn)資源的能力,才在步驟360服務(wù)請(qǐng)求。
當(dāng)類型2(或類型3)URL請(qǐng)求到達(dá)網(wǎng)關(guān)CGI組件130的性能確認(rèn)組件150時(shí),只有URL的“State”字段匹配在數(shù)據(jù)庫(kù)170中存儲(chǔ)的“State”,才服務(wù)請(qǐng)求。
數(shù)據(jù)庫(kù)170的“MainTable”中的條目被保留,直到URL的期滿。在此時(shí)間之后,該URL被無(wú)效,也就是,在由“Generation-Time”和“Max-Age”的組合表示的時(shí)間期滿之后。
一旦事務(wù)結(jié)束,就刪除數(shù)據(jù)庫(kù)170的“VariableTable”中的條目。事務(wù)的結(jié)束由事務(wù)的最后節(jié)點(diǎn)表示。如果最后的節(jié)點(diǎn)是靜態(tài)資源,則在配置文件160中指定與事務(wù)的最后節(jié)點(diǎn)對(duì)應(yīng)的所有這樣的資源。然而,如果最后節(jié)點(diǎn)是動(dòng)態(tài)資源,則該節(jié)點(diǎn)可以具有依賴于輸入的各種輸出。在一個(gè)輸入的時(shí)候,輸出可能是事務(wù)的結(jié)束,而在另一輸入的時(shí)候,它可以只是輸出事務(wù)中的另一階段。因此,為了獲得動(dòng)態(tài)資源以通知事務(wù)的結(jié)束,管理員必須將METATAG置入到其對(duì)應(yīng)于最后節(jié)點(diǎn)的輸出中。
示例事件跟蹤圖4是網(wǎng)關(guān)CGI組件130的示例事件跟蹤。首先,在步驟410,客戶端110將帶CCI的URL發(fā)送到萬(wàn)維網(wǎng)服務(wù)器。然后,在步驟420,萬(wàn)維網(wǎng)服務(wù)器120將帶CCI的URL轉(zhuǎn)發(fā)給網(wǎng)關(guān)CGI組件130。在步驟430,網(wǎng)關(guān)CGI組件130驗(yàn)證簽名和能力信息,并且修改數(shù)據(jù)庫(kù)170。然后,在步驟440,網(wǎng)關(guān)CGI組件130將排除了能力“pads”的URL發(fā)送到應(yīng)用服務(wù)器190。
在步驟450,應(yīng)用服務(wù)器190處理該URL的請(qǐng)求,并且在步驟460將響應(yīng)發(fā)送到網(wǎng)關(guān)CGI組件130。在步驟470,網(wǎng)關(guān)CGI組件130修改來(lái)自應(yīng)用服務(wù)器190的響應(yīng)頁(yè)面的URL。在步驟480,網(wǎng)關(guān)CGI組件130將修改后的頁(yè)面發(fā)送回到萬(wàn)維網(wǎng)服務(wù)器120。然后,在步驟490,由萬(wàn)維網(wǎng)服務(wù)器120將該頁(yè)面轉(zhuǎn)發(fā)回到客戶端110。
示例應(yīng)用考慮銀行事務(wù),其中在銀行“B1”中擁有帳戶的個(gè)人“a”想要將一些錢轉(zhuǎn)帳給在銀行“B2”擁有帳戶的另一個(gè)人“b”。銀行“B1”和“B2”使用共享密鑰來(lái)加密任何事務(wù)數(shù)據(jù)。
首先,“a”請(qǐng)求銀行“B1”給予他基于能力的URL,其加入了要轉(zhuǎn)帳的金額、要向其轉(zhuǎn)帳的用戶,也就是“b”。
通過(guò)使用兩個(gè)銀行的共享密鑰計(jì)算密鑰化散列來(lái)保護(hù)該URL,并且將該密鑰化散列附加到結(jié)果URL中,以防止對(duì)URL的任何篡改。由個(gè)人“a”負(fù)責(zé)安全地將該URL傳遞給“b”。然后,個(gè)人“b”將該URL提供給目標(biāo)銀行“B2”,然后,目標(biāo)銀行“B2”可以驗(yàn)證該URL的完整性,并且允許/不允許該事務(wù)。在此,“a”和“b”可以使用他們的帳號(hào)作為能力控制信息的一部分,以便進(jìn)一步地保護(hù)該事務(wù)。
計(jì)算機(jī)硬件圖5是適于執(zhí)行計(jì)算機(jī)軟件從而用作客戶端110、萬(wàn)維網(wǎng)服務(wù)器120或應(yīng)用服務(wù)器190的類型的計(jì)算機(jī)系統(tǒng)500的示意圖。計(jì)算機(jī)軟件在計(jì)算機(jī)系統(tǒng)500上安裝的適當(dāng)操作系統(tǒng)下執(zhí)行,并且可以被認(rèn)為是包括各種用于實(shí)現(xiàn)特定步驟的軟件代碼裝置。
計(jì)算機(jī)系統(tǒng)500的組件包括計(jì)算機(jī)520、鍵盤510和鼠標(biāo)515、以及視頻顯示器590。計(jì)算機(jī)520包括處理器540、存儲(chǔ)器550、輸入/輸出(I/O)接口560、565、視頻接口545、以及存儲(chǔ)設(shè)備555。
處理器540是中央處理器(CPU),其執(zhí)行操作系統(tǒng)和在該操作系統(tǒng)下執(zhí)行的計(jì)算機(jī)軟件。存儲(chǔ)器550包括隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(RAM),并且在處理器540的引導(dǎo)下被使用。
視頻接口545連接到視頻顯示器590,并且提供視頻信號(hào)以便在視頻顯示器590上顯示。從鍵盤510和鼠標(biāo)515提供用來(lái)操作計(jì)算機(jī)520的用戶輸入。存儲(chǔ)設(shè)備555可以包括硬盤驅(qū)動(dòng)器或任何其他適合的存儲(chǔ)介質(zhì)。
計(jì)算機(jī)520的每個(gè)組件連接到內(nèi)部總線530,以允許計(jì)算機(jī)520的各組件通過(guò)總線530相互通信,其中內(nèi)部總線530包括數(shù)據(jù)、地址和控制總線。
計(jì)算機(jī)系統(tǒng)500可以使用到以因特網(wǎng)580代表的網(wǎng)絡(luò)的通信信道585、通過(guò)輸入/輸出(I/O)接口565連接到一個(gè)或多個(gè)其它類似的計(jì)算機(jī)。
計(jì)算機(jī)軟件可以被記錄在便攜式存儲(chǔ)介質(zhì)上,在這種情況下,由計(jì)算機(jī)系統(tǒng)500從存儲(chǔ)設(shè)備555訪問(wèn)計(jì)算機(jī)軟件程序。可選地,可以由計(jì)算機(jī)520直接從因特網(wǎng)580訪問(wèn)計(jì)算機(jī)軟件。在任一情況下,用戶可以使用鍵盤510和鼠標(biāo)515與計(jì)算機(jī)系統(tǒng)500交互,以操作在計(jì)算機(jī)520上執(zhí)行的程序化計(jì)算機(jī)軟件。
其它配置或類型的計(jì)算機(jī)系統(tǒng)同樣可以很好地用來(lái)執(zhí)行幫助實(shí)現(xiàn)在此描述的技術(shù)的計(jì)算機(jī)軟件。
結(jié)束語(yǔ)可以對(duì)在此描述的技術(shù)和布置進(jìn)行各種變更和修改,這對(duì)于相關(guān)領(lǐng)域的技術(shù)人員而言將是清楚的。
權(quán)利要求
1.一種用于服務(wù)資源定位符的請(qǐng)求的方法,包括以下步驟接收所請(qǐng)求的資源定位符,其加入了根據(jù)預(yù)定格式的控制信息;識(shí)別在所接收的資源定位符中加入的控制信息;以及從所識(shí)別的控制信息確定是否允許訪問(wèn)所請(qǐng)求的資源定位符。
2.如權(quán)利要求1所述的方法,還包括以下步驟如果允許對(duì)所請(qǐng)求資源的訪問(wèn),則以所請(qǐng)求的資源響應(yīng)請(qǐng)求。
3.如權(quán)利要求1所述的方法,還包括以下步驟如果不允許對(duì)所請(qǐng)求資源的訪問(wèn),則以錯(cuò)誤消息響應(yīng)請(qǐng)求。
4.如權(quán)利要求1所述的方法,還包括以下步驟從資源定位符中去除控制信息;以及將資源定位符轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器。
5.如權(quán)利要求4所述的方法,還包括以下步驟將控制信息加入到包括在所請(qǐng)求的資源中的至少一個(gè)資源定位符。
6.如權(quán)利要求4所述的方法,還包括以下步驟將控制信息加入到包括在所請(qǐng)求的資源中的至少一個(gè)資源定位符。
7.如權(quán)利要求1所述的方法,其中控制信息指定以下至少之一(i)資源定位符對(duì)于特定次數(shù)的訪問(wèn)的有效性,(ii)資源定位符對(duì)于給定時(shí)間段的有效性,(iii)資源定位符對(duì)于特定數(shù)目的事務(wù)的有效性,(iv)訪問(wèn)由資源定位符指定的資源的授權(quán),以及(iv)資源定位符可被訪問(wèn)的事務(wù)狀態(tài)的授權(quán)。
8.如權(quán)利要求1所述的方法,其中控制信息指定不同類型的用于控制信息的預(yù)定格式。
9.如權(quán)利要求4所述的方法,還包括以下步驟維護(hù)資源定位符的請(qǐng)求被訪問(wèn)的次數(shù)的記錄。
10.如權(quán)利要求4所述的方法,還包括以下步驟維護(hù)資源定位符可被訪問(wèn)的事務(wù)狀態(tài)的記錄。
11.一種記錄在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件接收所請(qǐng)求的資源定位符,其加入了根據(jù)預(yù)定格式的控制信息;識(shí)別在所接收的資源定位符中加入的控制信息;以及從所識(shí)別的控制信息確定是否允許訪問(wèn)所請(qǐng)求的資源定位符。
12.如權(quán)利要求11所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件如果允許對(duì)所請(qǐng)求資源的訪問(wèn),則以所請(qǐng)求的資源響應(yīng)請(qǐng)求。
13.如權(quán)利要求11所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件如果不允許對(duì)所請(qǐng)求資源的訪問(wèn),則以錯(cuò)誤消息響應(yīng)請(qǐng)求。
14.如權(quán)利要求11所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件從資源定位符中去除控制信息;以及將資源定位符轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器。
15.如權(quán)利要求14所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件將控制信息加入到包括在所請(qǐng)求的資源中的至少一個(gè)資源定位符。
16.如權(quán)利要求14所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件將控制信息加入到包括在所請(qǐng)求的資源中的至少一個(gè)資源定位符。
17.如權(quán)利要求11所述的計(jì)算機(jī)程序,其中控制信息指定以下至少之一(i)資源定位符對(duì)于特定次數(shù)的訪問(wèn)的有效性,(ii)資源定位符對(duì)于給定時(shí)間段的有效性,(iii)資源定位符對(duì)于特定數(shù)目的事務(wù)的有效性,(iv)訪問(wèn)由資源定位符指定的資源的授權(quán),以及(iv)資源定位符可被訪問(wèn)的事務(wù)狀態(tài)的授權(quán)。
18.如權(quán)利要求11所述的計(jì)算機(jī)程序,其中控制信息指定不同類型的用于控制信息的預(yù)定格式。
19.如權(quán)利要求14所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件維護(hù)資源定位符的請(qǐng)求被訪問(wèn)的次數(shù)的記錄。
20.如權(quán)利要求14所述的計(jì)算機(jī)程序,還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件維護(hù)資源定位符可被訪問(wèn)的事務(wù)狀態(tài)的記錄。
21.一種計(jì)算機(jī)系統(tǒng),包括記錄在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)軟件,其用于執(zhí)行以下步驟接收所請(qǐng)求的資源定位符,其加入了根據(jù)預(yù)定格式的控制信息;識(shí)別在所接收的資源定位符中加入的控制信息;以及從所識(shí)別的控制信息確定是否允許訪問(wèn)所請(qǐng)求的資源定位符。
22.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件如果允許對(duì)所請(qǐng)求資源的訪問(wèn),則以所請(qǐng)求的資源響應(yīng)請(qǐng)求。
23.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件如果不允許對(duì)所請(qǐng)求資源的訪問(wèn),則以錯(cuò)誤消息響應(yīng)請(qǐng)求。
24.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件從資源定位符中去除控制信息;以及將資源定位符轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器。
25.如權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件將控制信息加入到包括在所請(qǐng)求的資源中的至少一個(gè)資源定位符。
26.如權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件將控制信息加入到包括在所請(qǐng)求的資源中的至少一個(gè)資源定位符。
27.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中控制信息指定以下至少之一(i)資源定位符對(duì)于特定次數(shù)的訪問(wèn)的有效性,(ii)資源定位符對(duì)于給定時(shí)間段的有效性,(iii)資源定位符對(duì)于特定數(shù)目的事務(wù)的有效性,(iv)訪問(wèn)由資源定位符指定的資源的授權(quán),以及(iv)資源定位符可被訪問(wèn)的事務(wù)狀態(tài)的授權(quán)。
28.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中控制信息指定不同類型的用于控制信息的預(yù)定格式。
29.如權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件維護(hù)資源定位符的請(qǐng)求被訪問(wèn)的次數(shù)的記錄。
30.如權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),還包括用于執(zhí)行以下步驟的計(jì)算機(jī)軟件維護(hù)資源定位符可被訪問(wèn)的事務(wù)狀態(tài)的記錄。
全文摘要
本發(fā)明公開(kāi)一種用于服務(wù)資源定位符的請(qǐng)求的方法。根據(jù)本發(fā)明,資源定位符(例如,URL或類似引用)加入了根據(jù)適于特定應(yīng)用的預(yù)定格式結(jié)構(gòu)化的加密控制信息。從資源定位符確定該控制信息,并且根據(jù)該控制信息來(lái)處理資源定位符。返回對(duì)所請(qǐng)求的資源定位符的響應(yīng)。
文檔編號(hào)G06F9/46GK1744504SQ200510097829
公開(kāi)日2006年3月8日 申請(qǐng)日期2005年8月30日 優(yōu)先權(quán)日2004年8月31日
發(fā)明者拉伊吉索爾·巴里克, 馬尼什·P·庫(kù)爾赫達(dá)爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司