CN106874315B - 用于提供对内容资源的访问的方法和装置 - Google Patents
用于提供对内容资源的访问的方法和装置 Download PDFInfo
- Publication number
- CN106874315B CN106874315B CN201510929192.9A CN201510929192A CN106874315B CN 106874315 B CN106874315 B CN 106874315B CN 201510929192 A CN201510929192 A CN 201510929192A CN 106874315 B CN106874315 B CN 106874315B
- Authority
- CN
- China
- Prior art keywords
- uri
- content
- resource
- request
- server
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
- H04L2101/385—Uniform resource identifier for session initiation protocol [SIP URI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施方式提供了一种用于提供对内容资源的访问的方法和装置。该方法包括:响应于接收到访问内容服务器中的内容资源的请求,与所述内容服务器进行通信,以获取所述内容服务器中的、与所述内容资源的第一统一资源标识符URI相关的元数据,其中所述请求中包含所述第一URI,所述元数据至少指明所述内容资源的所述第一URI与所述内容资源的第二URI之间的映射关系,其中所述第一URI是所述第二URI的缩短版本;解析所述元数据,以获取所述第二URI;以及利用所述第二URI对所述请求进行响应。根据本发明实施方式的方法能够支持对内容资源的所有访问方式,并且提高了资源访问的安全性和效率,改善了用户体验。
Description
技术领域
本发明的各实施方式涉及对内容资源的访问,并且更具体地涉及用于例如在表述性状态转移(Representational State Transfer,REST)架构下的提供对内容资源的访问的方法和装置。
背景技术
REST是一种软件架构风格。访问遵循REST风格(RESTful)的应用或服务的应用程序编程接口(Application Programming Interface,API),被称为RESTful API或者RESTAPI。随着企业数据系统中软件即服务(Software as a Service,SaaS)的出现,越来越多的厂商正在向客户端应用程序暴露REST API。REST API中的资源通过统一资源标识符(Uniform Resource Identifier,URI)来唯一地标识。Web服务器通过向客户端提供URI来实现客户端对URI处的资源的访问。
常规的URI的一般语法格式为:protocol://hostname[:port]/path,其中,“protocol(协议)”指定访问资源所使用的传输协议,“hostname(主机名)”也被称作“域名”,表示存储资源的服务器的名称,“port(端口号)”为可选项、表示传输协议的端口号,“path(路径)”表示到达资源的路径和资源本身的名称。然而,常规的URI存在多种局限性。例如,常规的URI一般包含较多字符。例如,URIhttp://example.com/tenants/1b523c/spaces/02c6d/folders/9843a2f/docs/837b8包含73个字符。诸如移动电话这样的应用对于有效载荷的大小非常敏感,并且某些消息收发系统(诸如短消息服务(SMS)、微博服务等)限制可以在消息中传送的字符数目。此外,从常规的URI的一般语法格式可以看出,常规的URI包含机密信息,而该机密信息可能会被恶意客户端滥用。例如,常规的URI反映了该URI所指向的服务器对资源的组织模式,恶意客户端可以利用该模式来非法访问服务器中的其他资源。
发明内容
因此,为了解决一个或多个现有技术中存在的问题,需要一种利用长度缩短的URI来提供对资源的访问的技术方案。根据本发明的实施方式提出一种在Web服务器和内容服务器所构成的安全网络环境内部提供URI缩短服务的技术方案。
根据本发明实施方式的第一方面,提供一种对内容资源的访问的方法。该方法包括:响应于接收到访问内容服务器中的内容资源的请求,与该内容服务器进行通信,以获取该内容服务器中的、与该内容资源的第一统一资源标识符URI相关的元数据,其中该请求中包含该第一URI,该元数据至少指明该内容资源的该第一URI与该内容资源的第二URI之间的映射关系,其中该第一URI是该第二URI的缩短版本;解析该元数据,以获取该第二URI;以及利用该第二URI对该请求进行响应。
在一些实施方式中,该第二URI与该第一URI具有相同的域名并且该第二URI的字符长度长于该第一URI。
在一些实施方式中,该方法进一步包括:在接收该第一请求之前,接收访问该内容资源的第二请求,该第二请求中包含该第二URI;以及创建该第一URI与该第二URI之间的该映射关系,以生成与该第一URI相关的该元数据。
在一些实施方式中,其中该第二请求中包含报头信息,并且其中生成与该第一URI相关的该元数据包括:从该第二请求中提取出该报头信息;以及将该报头信息包括在该元数据中。
在一些实施方式中,其中利用该第二URI对该请求进行响应包括:对该第二URI进行解析以识别由该第二URI标识的内容资源;识别与该内容资源对应的数据对象;以及与该内容服务器进行通信,以获取该数据对象。
在一些实施方式中,利用该第二URI对该请求进行响应进一步包括:对该数据对象进行解析,以确定与该内容资源相关联的内容资源;识别该内容资源和该相关联的内容资源之间的链接关系;基于该链接关系来生成该相关联的内容资源的第二URI;以及基于该相关联的内容资源的该第二URI,来确定与该相关联的内容资源的该第二URI对应的该相关联的内容资源的第一URI。
在一些实施方式中,确定该相关联的内容资源的该第一URI包括:针对该相关联的内容资源的该第二URI,向该内容服务器查询该相关联的内容资源的该第一URI。
在一些实施方式中,如果该内容服务器中存在该相关联的内容资源的该第一URI,则从该内容服务器获取该相关联的内容资源的该第一URI。
在一些实施方式中,如果该内容服务器中不存在该相关联的内容资源的该第一URI,则创建该相关联的内容资源的该第一URI与该相关联的内容资源的该第二URI之间的该映射关系,以生成与该相关联的内容资源的该第一URI相关的元数据。
在一些实施方式中,利用该第二URI对该请求进行响应进一步包括:通过向该数据对象中添加该内容资源的该第一URI以及该相关联的内容资源的该第一URI,来构建对该请求的响应。
在一些实施方式中,该方法由网络(Web)服务器来实施。
根据本发明实施方式的第二方面,提供了一种提供对内容资源的访问的装置。该装置包括:交互单元,被配置为响应于接收到访问内容服务器中的内容资源的请求,与该内容服务器进行通信,以获取该内容服务器中的、与该内容资源的第一统一资源标识符URI相关的元数据,其中该请求中包含该第一URI,该元数据至少指明该内容资源的该第一URI与该内容资源的第二URI之间的映射关系,其中该第一URI是该第二URI的缩短版本;解析单元,被配置为解析该元数据,以获取该第二URI;以及响应单元,被配置为利用该第二URI对该请求进行响应。
根据本发明实施方式的第三方面,提供了一种服务器。该服务器包括:一个或多个处理器;存储有计算机程序指令的存储器,当由该一个或多个处理器执行该计算机程序指令时使得该服务器执行根据本发明实施方式的用于提供对内容资源的访问的方法。
根据本发明实施方式的第五方面,提供了一种计算机程序产品。该计算机程序产品包括计算机程序指令,当由计算设备执行该计算机程序指令时使得该计算设备执行根据本发明实施方式的用于提供对内容资源的访问的方法。
根据本发明的实施方式,由于在Web服务器和内容服务器所构成的安全网络环境内部提供URI缩短服务,而不是依赖于HTTP重定向机制来提供该URI缩短服务,因此根据本发明实施方式的方法能够支持对内容资源的所有访问方式,例如包括但是不限于:增加、修改和删除等。此外,由于在Web服务器和内容服务器所构成的安全网络环境内部提供URI缩短服务,因而可以避免跨域资源共享。由此,提高了资源访问的安全性和效率,改善了用户体验。
附图说明
结合附图并参考以下详细说明,本发明的各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1描绘了利用由URI缩短服务平台提供的短URI服务来提供对资源的访问的方法的流程;
图2示出根据本发明的一个实施方式的用于提供对内容服务器中的内容资源的访问的方法的流程图;
图3描绘了根据本发明的一个具体实施例的提供对内容资源的访问的方法的流程;
图4示出了针对内容资源请求的示例性响应;以及
图5示出了能够用于实现根据本发明实施方式的计算机系统的示意性框图。
具体实施方式
下面将参考附图中示出的若干示例实施方式来描述本发明的原理。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
如前所述,常规的URI被用来唯一地标识内容服务器中所存储的内容资源。Web服务器可以通过向客户端提供常规的URI来实现客户端对内容服务器中的资源的访问。由于常规的URI一般包含较多数目的字符,因此常规的URI有时也被称作“长URI”。此外,由于长URI的使用存在多种局限性,因此将长URI转换为字符数目较少的“短URI”的URI缩短服务正逐渐得到推广。目前,存在多个由第三方提供的URI缩短服务平台,例如http:// shorturl.com/、http://goo.gl/、https://bitly.com/、http://tinyurl.com/等。在下文中,将参照图1来描述利用由URI缩短服务平台提供的短URI服务来提供对资源的访问的方法100。
方法100涉及客户端101(例如,Web浏览器)、Web服务器102、内容服务器103、以及第三方URI缩短服务平台104(简称“第三方平台104”)之间的交互。
内容服务器103被配置为存储与内容资源对应的数据对象的数据(未示出)以及与数据对象相关的元数据105。
Web服务器102被配置为采用长URI来唯一地标识内容服务器中所存储的内容资源。Web服务器102例如可以为采用REST架构的REST服务器。在REST架构中,采用HTTP方法来表示对内容资源的操作,例如获取(GET)、增加(PUT)、修改(POST)、删除(DELETE)。
第三方平台104被配置为提供URI缩短服务。具体而言,第三方平台104提供短URI注册服务并且存储与短URI相关的元数据106,该元数据106至少包括长URI与相应的短URI之间的映射。
在方法100中,假定用户已经获得了与期望访问的内容资源的长URI对应的短URI,例如“http://shorturl.com/1fb5d”,其中“shorturl.com”为该短URI的域名,“1fb5d”为该短URI的标识符(ID)。例如,用户可以通过电子邮件、网页等获得该短URI。
在获得了该短URI后,用户可以通过客户端101向第三方平台104发送访问内容资源的请求(如步骤S110所示),例如形式为“GET http://shorturl.com/1fb5d”的GET请求1100。
在步骤S120,第三方平台104可以对所接收的GET请求进行解析以获得该短URI,在本地查询该短URI所对应的长URI,并且向客户端101发送携带有该长URI的响应以指示客户端101重定向到该长URI。客户端101接收到该响应后,从中提取出该长URI,并且利用该长URI再次向Web服务器102发送访问内容资源的请求。
在步骤S130,Web服务器102解析该长URI并识别其所标识的内容资源。可以理解,在Web服务(例如REST服务)中,数据对象被抽象为资源。因此,识别长URI所标识的内容资源包括识别该资源所对应的数据对象。随后,在步骤S140,Web服务器102向内容服务器103请求所识别的数据对象。接下来,在步骤S150,内容服务器103向Web服务器102返回所请求的数据对象。
接下来,在步骤S160,Web服务器102基于所接收的数据对象构建针对内容资源请求的响应。随后,在步骤S170,Web服务器102将针对内容资源请求的响应1700返回至客户端101。
通过以上描述可知,在方法100中,由第三方平台104来提供URI缩短服务,并且该URI缩短服务依赖于HTTP重定向机制(如步骤S120所示)。然而,该HTTP重定向机制仅支持GET方法,而不支持POST、PUT和DELETE方法。换言之,如果客户端101向第三方平台104发起POST、PUT或DELETE请求,则第三方平台104无法使得客户端101进行URI重定向。
此外,可以理解,Web服务器102和内容服务器103位于相同的域(domain)中,二者之间通过可信的网络通道(例如局域网)进行通信。然而,第三方平台104与Web服务器102和内容服务器103位于不同的域中。不同的域之间的网络通道通常是不可信的,因而不同的域之间需要设置防火墙(例如图1所示的防火墙107)以确保每个域内的信息安全。因此,跨域(跨防火墙)来访问第三方平台104会带来安全隐患。此外,跨域来访问第三方平台104还会带来附加的网络延迟,从而影响用户体验。
另外,在POST和PUT请求中,除了携带URI之外,还需要携带有效载荷。出于安全性考虑,用户不希望第三方平台104获取有效载荷中的信息。
再者,由于第三方平台104维护长URI与相应的短URI之间的映射,而长URL包含与内容服务器103相关的信息,第三方平台104可以从中抓取该信息进行分析。然而,这也是内容服务器103的提供者所不期望看到的。
鉴于现有技术中存在的上述问题,需要一种在Web服务器和内容服务器所构成的安全网络环境内部提供URI缩短服务的技术方案。
图2示出根据本发明的一个实施方式的用于提供对内容服务器中的内容资源的访问的方法200的流程图。在一些实施方式中,方法200可以在用于提供对内容服务器中的内容资源的访问的计算设备中实施。该计算设备可以包括但是不限于:Web服务器、应用服务器、或任何其它适当类型的服务器。在采用Web服务器的情况下,Web服务器例如可以为采用REST架构的REST服务器。在REST架构中,采用HTTP方法来表示对内容资源的操作,例如获取(GET)、增加(PUT)、修改(POST)、删除(DELETE)。
如图2所示,在步骤S210,可以由Web服务器响应于接收到访问内容资源的请求,与内容服务器进行通信,以获取内容服务器中的与该内容资源的第一URI相关的元数据。该请求中包含该第一URI。该元数据至少指明内容资源的第一URI与内容资源的第二URI之间的映射关系。该第一URI是该第二URI的缩短版本。在一些实施方式中,该第二URI与该第一URI具有相同的域名并且该第二URI的字符长度长于该第一URI。随后,在步骤S220,Web服务器解析该元数据,以获取该第二URI。接下来,在步骤S230,Web服务器利用该第二URI对访问内容资源的请求进行响应。
应当理解,在本公开的上下文中,“第一URI”也被称作“短URI”,二者可以互换地使用。类似地,“第二URI”也被称作“常规的URI”、“原始URI”、或“长URI”,四者可以互换地使用。
根据本发明的实施方式,在Web服务器和内容服务器所构成的安全网络环境内部提供URI缩短服务。在该URI缩短服务中,长URI和对应的短URI具有相同的域名,因而二者指向相同的Web服务器。换言之,长URI及其对应的短URI均为Web服务器所创建的。此外,Web服务器不仅被配置为短URI的创建者,而且被配置为短URI的消费者(也称作“使用者”),而内容服务器被配置为维护与短URI相关的元数据,该元数据至少指明短URI与长URI之间的映射关系。Web服务器从内容服务器获取该元数据,并且解析该元数据以获取与该短URI对应的长URI。由于长URI本身就是由Web服务器创建的,因而Web服务器理解长URI的含义。因此,在Web服务器本地即可利用所获取的长URI来识别其所标识的内容资源,从而无需如第三方URI缩短服务平台那样依赖于HTTP重定向机制。由此,根据本发明的实施方式能够支持对内容资源的所有访问方式,例如包括但是不限于:增加、修改和删除等。
此外,根据本发明的实施方式,由于在Web服务器和内容服务器所构成的安全网络环境内部提供URI缩短服务,因而可以避免跨域资源共享。由此,提高了资源访问的安全性和效率,改善了用户体验。
再者,根据本发明的实施方式,由内容服务器维护与短URI相关的元数据,该元数据至少指明短URI与对应的长URI之间的映射关系。换言之,与短URI相关的元数据是内容服务器私有的,因而可以避免与内容服务器相关的信息的泄露。
以下将结合图3来描述根据本发明的一个具体实施例的提供对内容资源的访问的方法300的流程。
根据本发明的实施方式,在Web服务器302和内容服务器303所构成的安全网络环境内部提供URI缩短服务。在该URI缩短服务中,Web服务器302被配置为短URI的创建者和消费者(也称作“使用者”),而内容服务器303被配置为维护与短URI相关的元数据。
具体地,为了在Web服务器302处针对长URI创建相应的短URI,可以预先定义短URI数据字典(也称作“数据类型”)“shorten_uri”来容纳与短URI相关的元数据。作为一个示例,短URI数据字典“shorten_uri”至少包含以下三个属性:
●object-id(对象id)
○data type(数据类型):字符串
○modifier(修改者)(修改者):由系统生成;只读
○description(描述):内容服务器中的短URI实例的唯一标识
●original-uri(原始URI)
○data type(数据类型):字符串
○modifier(修改者):在创建时写入
○description(描述):短URI从其进行映射的URI
●shorten-uri(短URI)
○data type(数据类型):字符串
○modifier(修改者):在创建时写入
○description(描述):原始URI所映射到的URI
此外,短URI数据字典“shorten_uri”还可以可选地包括以下属性中的一个或多个。
●creator(创建者)
○data type(数据类型):字符串
○modifier(修改者):由系统生成;只读
○description(描述):短URI的创建者
●creation-date(创建日期)
○data type(数据类型):日期
○modifier(修改者):由系统生成;只读
○description(描述):短URI的创建日期
●expiration-date(失效日期)
○data type(数据类型):日期
○modifier(修改者):在创建时写入
○description(描述):短URI的失效日期;
该失效日期不应早于短URI的创建日期;
当访问时间晚于该失效日期时,短URI失效。
●last-access-date(上次访问日期)
○data type(数据类型):日期
○modifier(修改者):由系统生成;只读
○description(描述):短URI的上次访问日期;
每当从内容服务器获取短URI时刷新该值。
●access-count(访问次数)
○data type(数据类型):整数
○modifier(修改者):由系统生成;只读
○description(描述):短URI的总访问次数
●one-time-use(一次性)
○data type(数据类型): 布尔
○modifier(修改者):在创建时写入
○description(描述):用于一次性的标记;
“真(True)”表示短URI为一次性的;
“假(False)”表示短URI可被重复使用;
缺省值为“真”。
当该值为“真”并且“访问次数”属性不小于1时,短URI变为无效。
●forbidden-accessors(被禁止的访问者)
○data type(数据类型): 重复的字符串
○modifier(修改者):在创建时写入
○description(描述):不允许读取短URI的用户的列表;
值为“空”表示无被禁止的访问者
●exclusive-accessors(排他访问者)
○data type(数据类型): 重复的字符串
○modifier(修改者):在创建时写入
○description(描述):仅列表中指定的用户可以读取短URI;
值为“空”表示不存在对访问者的限制
●http-header-names(http头部名称)
○data type(数据类型): 重复的字符串
○modifier(修改者):在创建时写入
○description(描述):与原始URI相关联的http头部的名称的列表
●http-header-values(http头部值)
○data type(数据类型): 重复的字符串
○modifier(修改者):在创建时写入
○description(描述):与原始URI相关联的http头部值的列表
可以理解,利用expiration-date属性和one-time-use属性,Web服务器302可以控制所创建的短URI的使用期。
此外,应当理解,尽管可以通过在Web服务器302侧定义forbidden-accessors属性和exclusive-accessors属性来控制用户对短URI的访问,但是在不依赖于forbidden-accessors等属性的情况下,内容服务器303仍然可以采用自身的访问控制列表(AccessControl List,ACL)模型来进一步管理短URI实例,例如授权用户对短URI对短URI实例的读取权限、废除用户对短URI对短URI实例的读取权限等。
另外,应当理解,Web服务器302(例如Web服务器302上的应用程序)可以基于如上定义的短URI数据字典“shorten_uri”而利用API来针对长URI创建相应的短URI。该API可以采用任何适当的已知算法,例如Java算法、.NET算法等,因而,在本文中省略了对该已知算法的详细描述。
再者,Web服务器302(例如Web服务器302上的应用程序)可以利用API来消费(使用)所创建的短URI。为此,根据本发明的实施方式定义了“短URI数据传输对象(DataTransfer Object)以及相关的API方法集合,来使得Web服务器302可以消费所创建的短URI。例如,Web服务器302可以例如通过Java应用程序、.NET应用程序、SOAP Web服务、或RESTful服务等来消费该API。
具体地,“短URI数据传输对象”被用于Web服务器302与内容服务器303之间的交互。作为一个示例,短URI数据传输对象“ShortenUri”可以被定义如下:
ShortenUri
·originalUri(原始URI)
字符串;映射到original-uri;由短URI数据传输对象“ShortenUri”的调用方来提供
·shortenUri(短URI)
字符串;映射到shorten-uri;由短URI数据传输对象“ShortenUri”的接收方来提供
·expirationDate(失效日期)
日期;映射到失效日期;由短URI数据传输对象“ShortenUri”的调用方来提供
·oneTimeUse(一次性)
布尔;映射到one-time-access;由短URI数据传输对象“ShortenUri”的调用方来提供
·forbiddenAccessors(被禁止的访问者)
列表<字符串>;映射到forbidden-accessors;由短URI数据传输对象“ShortenUri”的调用方来提供
·exclusiveAccessors(排他访问者)
列表<字符串>;映射到exclusive-accessors;由短URI数据传输对象“ShortenUri”的调用方来提供
·httpHeaders(http头部)
映射<字符串,字符串[]>;映射到http-header-names和http-header-values;由短URI数据传输对象“ShortenUri”的调用方和接收方来提供
·其他
映射<字符串,对象>;保留;可选的。
可以理解,与短URI数据字典“shorten_uri”类似,短URI数据传输对象“ShortenUri”应至少包括originalUri属性和shortenUri属性,并且可以可选地包括expirationDate等可选属性中的一项或多项。
此外,与短URI数据传输对象“ShortenUri”相关的API方法集合可定义如下。
ShortenUri makeShortenUri(ShortenUri shortenUri)
Description(描述):
在Web服务器中创建新的短URI。
Input(输入):
shortenUri–针对短URI的请求,必需的属性为originalUri,其他可选属性可包括expirationDate、oneTimeAccess、exclusiveAccessors和httpHeaders。
Output(输出):
新的短URI。必须在短URI数据传输对象“ShortenUri”中返回shortenUri。
需要注意的是,关于方法ShortenUri makeShortenUri(ShortenUri shortenUri)中的(ShortenUri shortenUri)而言,“ShortenUri”表示如上定义的短URI数据传输对象“ShortenUri”,而“shortenUri”表示该短URI数据传输对象的一个实例。
ShortenUri getOriginalUri(String shortenUri,String accessor)
Description(描述):
通过短URI获得原始URI。如果该短URI限制访问者,则提示访问异常。
Input(输入):
shortenUri–短URI
accessor–该短URI的访问者。该参数是可选的。
Output(输出):
原始URI。必须在短URI数据传输对象“ShortenUri”中返回该原始URI。
boolean removeShortenUri(String shortenUri)
Description(描述):
移除短URI。只有创建者和系统管理员有权移除短URI。
Input(输入):
shortenUri–短URI
Output(输出):
指示移除是否成功的布尔值。
应当理解,以上仅定义了用于使得Web服务器可以消费短URI的相关的API方法集合中的示例性方法。根据具体的应用场景,可以定义更多的方法并将其添加至上述API方法集合中。此外,可以采用任何适当的实现方式或算法设计来实施这些示例性方法,本发明实施方式的范围在此发明不受限制。
如上所述,在根据本发明实施方式提供的URI缩短服务中,内容服务器303被配置为维护与短URI相关的元数据。内容服务器303可以包括用于存储与短URI相关的元数据的数据库。例如,与短URI相关的元数据可以以数据库表单的形式存储于内容服务器303的数据库中。以下的表1至5示出了以数据库表单形式存储的与短URI相关的元数据的示例。注意,在表1至5中,为了简明起见,针对原始URI(original-uri)和短URI(shorten-uri)均为示出相应的传输协议名称和域名,而仅示出了路径名称。
表1:具有失效日期(expiration date)的活跃的短URI
表2:失效的短URI
属性 | 值 |
original-uri | /tenants/1b523c/spaces/02c6d/folders/9843a2f/docs/837b8 |
shorten-uri | /s/1fb5d |
creator | dave |
creation-date | 2015-09-15T07:52:07.277+00:00 |
expiration-date | 2015-09-25T08:00:00.000+00:00 |
last-access-date | 2015-09-27T14:37:51.213+00:00 |
access-count | 2 |
one-time-use | False |
forbidden-accessors | - |
exclusive-accessors | |
http-header-names | - |
http-header-values | - |
表3:有效的一次性的短URI
属性 | 值 |
original-uri | /tenants/1b523c/spaces/02c6d/folders/9843a2f/docs/837b8 |
shorten-uri | /s/1fb5d |
creator | dave |
creation-date | 2015-09-15T07:52:07.277+00:00 |
expiration-date | 2015-09-25T08:00:00.000+00:00 |
last-access-date | - |
access-count | 0 |
one-time-use | True |
forbidden-accessors | - |
exclusive-accessors | |
http-header-names | - |
http-header-values | - |
表4:具有受限制的用户的短URI
属性 | 值 |
original-uri | /tenants/1b523c/spaces/02c6d/folders/9843a2f/docs/837b8 |
shorten-uri | /s/1fb5d |
creator | dave |
creation-date | 2015-09-15T07:52:07.277+00:00 |
expiration-date | 2015-09-25T08:00:00.000+00:00 |
last-access-date | 2015-09-15T08:24:21.478+00:00 |
access-count | 2 |
one-time-use | False |
forbidden-accessors | Alice,Bob |
exclusive-accessors | |
http-header-names | - |
http-header-values | - |
表5:具有认证(Authorization)头部的短URI
属性 | 值 |
original-uri | /tenants/1b523c/spaces/02c6d/folders/9843a2f/docs/837b8 |
shorten-uri | /s/1fb5d |
creator | dave |
creation-date | 2015-09-15T07:52:07.277+00:00 |
expiration-date | 2015-09-25T08:00:00.000+00:00 |
last-access-date | 2015-09-15T08:24:21.478+00:00 |
access-count | 2 |
one-time-use | False |
forbidden-accessors | - |
exclusive-accessors | |
http-header-names | Authorization |
http-header-values | Basic ZGF2ZTpwYXNzd29yZA== |
在下文中,将结合图3来描述方法300中客户端301、Web服务器302、以及内容服务器303之间的交互。
与方法100类似,在方法300中同样假定用户已经获得了与期望访问的内容资源的长URI对应的短URI。
应当理解,用户可以采用任何适当的方式来获取该短URI。例如,用户可以针对长URI向Web服务器302进行注册以获得相应的短URI。例如,用户可以针对长URI“http://example.com/tenants/1b523c/spaces/02c6d/folders/9843a2f/doc s/837b8”向Web服务器302进行注册而获得相应的短URI,例如“http://example.com/s/1fb5d”。其中,“example.com”为Web服务器302的名称,即该短URI的域名,“/s/1fb5d”为该短URI的标识符(ID)。又例如,用户可以通过电子邮件、网页等获得该短URI。
在获得了该短URI后,用户可以通过客户端301(例如Web浏览器)向Web服务器302发送访问内容资源的请求(如步骤S310所示),例如形式为“GET http://example.com/s/1fb5d”的GET请求3100。从GET请求3100中可见,该GET请求3100中包含用于期望访问的内容资源的短URI“http://example.com/s/1fb5d”。
在步骤S320,响应于接收到该GET请求,Web服务器302与内容服务器303进行通信,以获取内容服务器中的与该短URI相关的元数据。例如,Web服务器302可以利用如前所述的短URI数据传输对象“ShortenUri”和ShortenUri getOriginalUri(String shortenUri,String accessor)方法来与内容服务器303进行通信,以获取所需的元数据。
在步骤S330,内容服务器303向Web服务器302返回所需的元数据306。例如,内容服务器303可以以表1至5中任一个所示的形式返回该元数据306。
在步骤S340,Web服务器302解析该元数据306,以获取与短URI对应的长URI。根据本发明的实施方式,由于长URI及其对应的短URI均为Web服务器302所创建的,因而二者均指向Web服务器302,即长URI及其对应的短URI具有相同的域名,但是长URI的字符长度长于短URI。
根据本发明的实施方式,内容服务器303所返回的元数据306中可进一步包括利用长URI发起的访问内容资源的请求中的报头信息。该报头信息例如可以包括客户端所指定的与针对请求的响应有关的信息、客户端的认证信息等。作为一个示例,在客户端301和Web服务器302之间采用HTTP协议进行通信的情况下,该报头信息可以包括http请求的httpheader(http头部)信息。
具体而言,如本领域技术人员所理解的,HTTP协议采用请求/响应模型,客户端(例如客户端301)向服务器(例如Web服务器302)发出http请求,服务器给与http响应。http请求通常包括http header(http头部)和http body(http消息体)两部分。该http header(http头部)例如可以包括表6所示示例性信息中的一项或多项。
表6
根据本发明的实施方式,可以在针对长URI创建相应的短URI期间获取上述与长URI相关联的信息,例如http header中的信息。具体而言,在利用短URI向Web服务器302发送GET请求3100之前,用户可以首先利用长URI、通过客户端301向Web服务器302发送另一GET请求。该另一GET请求的http header可以包含以上表6所示的信息中的一项或多项。例如,该另一GET请求的http header可以包含以上表6中所示的header name为“Authorization”并且header value为“Basic ZGF2ZTpwYXNzd29yZA==”的信息。
随后,Web服务器302可以响应于接收到该另一GET请求,创建与该另一GET请求中的长URI对应的短URI。具体地,在创建与长URI对应的短URI时,Web服务器302可以生成与短URI相关的元数据并且向内容服务器303提供所生成的元数据。此外,在生成与短URI相关的元数据时,Web服务器302可以将与长URI相关联的信息(例如,以上表6中所示的headername为“Authorization”并且header value为“Basic ZGF2ZTpwYXNzd29yZA==”的信息)包括在该元数据中。例如,上述的表5示出了包括以上表6中所示的header name为“Authorization”并且header value为“Basic ZGF2ZTpwYXNzd29yZA==”的信息的元数据的示例。
由于预先将与长URI相关联的信息包括在与短URI相关的元数据中、并且将该元数据存储在内容服务器303中,因此在利用短URI向Web服务器302发送GET请求3100时无需再次携带与长URI相关联的该信息,从而降低了泄露与长URI相关联的信息的风险,提高了访问的安全性。
继续参照图3。在步骤S350,Web服务器302对该长URI进行解析以识别由该长URI标识的内容资源、并且进一步识别与该内容资源对应的数据对象。
在步骤S360,Web服务器302与内容服务器303进行通信,以获取该数据对象。在步骤S370,内容服务器303向Web服务器302返回所需的数据对象。
接下来,Web服务器302可以基于所接收的数据对象构建针对内容资源请求的响应。随后,在步骤S380,Web服务器302将针对内容资源请求的响应返回至客户端101。
此外,基于所接收的数据对象构建针对内容资源请求的响应可以进一步包括如图3虚线箭头所示的可选步骤S390和S3100。
具体而言,在步骤S390,Web服务器302向内容服务器303查询与期望访问的内容资源相关联的内容资源的短URI。在一些实施方式中,步骤S390可以包括如下操作:首先,Web服务器302对从内容服务器303接收的数据对象进行解析,以确定与期望访问的内容资源相关联的内容资源;然后,Web服务器302识别期望访问的内容资源与相关联的内容资源之间的链接关系(link relation),并基于该链接关系生成该相关联的内容资源的长URI;接下来,Web服务器302在内容服务器303中查询是否存在该相关联的内容资源的长URI对应的短URI。
如果内容服务器303中存在该相关联的内容资源的长URI对应的短URI,则内容服务器303在步骤S3100返回该短URI。
另一方面,如果内容服务器303中不存在该相关联的内容资源的长URI对应的短URI,则Web服务器302针对该相关联的内容资源的长URI生成对应的短URI,并创建该长URI与对应的短URI之间的映射关系以生成与该短URI相关的元数据(图3中未示出)。随后,Web服务器302可以向内容服务器303提供该元数据以进行存储。
在获得了该相关联的内容资源的短URI后,Web服务器302可以向从内容服务器303接收的数据对象中添加期望访问的内容资源的短URI以及该相关联的内容资源的短URI,以构建针对内容资源请求的响应并将其返回至客户端301。
应当理解,在本文中对于Web服务器的描述仅旨在给出用于提供对内容服务器中的内容资源的访问的计算设备的一个示例,而并非以该示例中的任何细节对本公开的范围进行任何限制。本领域的技术人员可以理解,还可以采用任何其它适当类型的计算设备来实施根据本发明的各个实施方式。
此外,应当理解,尽管在本文中以GET请求为例描述了用于提供对内容资源的访问的方法,但是本发明实施方式的范围并不局限于此。事实上,根据本发明实施方式的用于提供对内容资源的访问的方法同样适用于POST、PUT、DELETE请求等。
图4示出了针对内容资源请求的示例性响应400。在示例性响应400中,采用JSON(JavaScript Object Notation,JavaScript对象表示法)格式来表示针对文档资源的响应中的数据对象。具体地,响应400中的数据对象被示出为包括四个属性:“type(类型)”、“definition(定义)”、“properties(属性)”、以及“links(链接)”。对于“links”属性而言,其包括指向所期望访问的文档资源自身的链接“http://example.com/s/91fy3m”(其链接关系的名称为“self”)以及指向与其相关联的内容资源的链接“http://example.com/s/ 91fy3m”(其链接关系的名称为“edit”)、“http://example.com/s/84z05f”(其链接关系的名称为“parent”)等。
应当理解,尽管在图4中示出了采用JSON格式来表示的响应,但是也可以采用任何其他适当的格式来表示针对内容资源请求的响应,例如采用XML(Extensive MarkupLanguage,可扩展标记语言)格式等。本发明实施方式的范围在此方面不受限制。
本发明的实施方式还提供了一种用于提供对内容资源的访问的装置。图4示出根据本发明的一个实施方式的用于提供对内容资源的访问的装置400的框图。装置400可以在任何适当的服务器上实现。该服务器可以包括但是不限于:Web服务器、应用服务器、或任何其它适当类型的服务器。在采用Web服务器的情况下,Web服务器例如可以为采用REST架构的REST服务器。
如图4所示,装置400包括:交互单元410,被配置为响应于接收到访问内容服务器中的内容资源的请求,与该内容服务器进行通信,以获取该内容服务器中的、与该内容资源的第一统一资源标识符URI相关的元数据,其中该请求中包含该第一URI,该元数据至少指明该内容资源的该第一URI与该内容资源的第二URI之间的映射关系,其中该第一URI是该第二URI的缩短版本;解析单元420,被配置为解析该元数据,以获取该第二URI;以及响应单元430,被配置为利用该第二URI对该请求进行响应。
在一些实施方式中,该第二URI与该第一URI具有相同的域名并且该第二URI的字符长度长于该第一URI。
在一些实施方式中,交互单元410被进一步配置为:在接收第一请求之前,接收访问内容资源的第二请求,第二请求中包含长URI;并且装置400进一步包括:创建单元,被配置为创建该第一URI与该第二URI之间的该映射关系,以生成与该第一URI相关的该元数据。
在一些实施方式中,该第二请求中包含报头信息,并且其中该创建单元被进一步配置为:从该第二请求中提取出该报头信息;以及将该报头信息包括在该元数据中。
在一些实施方式中,响应单元430被进一步配置为:对该第二URI进行解析以识别由该第二URI标识的内容资源;识别与该内容资源对应的数据对象;以及与该内容服务器进行通信,以获取该数据对象。
在一些实施方式中,响应单元430被进一步配置为:对该数据对象进行解析,以确定与该内容资源相关联的内容资源;以及识别该内容资源和该相关联的内容资源之间的链接关系;并且该创建单元被进一步配置为:基于该链接关系来生成该相关联的内容资源的第二URI;以及基于该相关联的内容资源的该第二URI,来确定与该相关联的内容资源的该第二URI对应的该相关联的内容资源的第一URI。
在一些实施方式中,该创建单元被进一步配置为:针对该相关联的内容资源的该第二URI,向该内容服务器查询该相关联的内容资源的该第一URI。
在一些实施方式中,该创建单元被进一步配置为:如果该内容服务器中存在该相关联的内容资源的该第一URI,则从该内容服务器获取该相关联的内容资源的该第一URI。
在一些实施方式中,该创建单元被进一步配置为:如果该内容服务器中不存在该相关联的内容资源的该第一URI,则创建该相关联的内容资源的该第一URI与该相关联的内容资源的该第二URI之间的该映射关系,以生成与该相关联的内容资源的该第一URI相关的元数据。
在一些实施方式中,响应单元430被进一步配置为:通过向该数据对象中添加该内容资源的该第一URI以及该相关联的内容资源的该第一URI,来构建对该请求的响应。
图5是示出能够用于实现根据本发明实施方式的计算机系统的示意性框图。
下面参考图5,其示出了适于用来实现本发明实施方式的计算机系统500的示意性框图。如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有计算机系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线404彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括存储盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如存储盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明的实施方式,上文参考图2和3描述的过程可以被实现为计算机软件程序。例如,本发明的实施方式包括一种计算机程序产品,其包括有形地包含在计算机可读介质上的计算机程序,所述计算机程序包含用于执行方法200和300的程序代码。
一般而言,本发明的各种示例实施方式可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施方式的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
而且,流程图中的各框可以被看作是方法步骤,和/或计算机程序代码的操作生成的操作,和/或理解为执行相关功能的多个耦合的逻辑电路元件。例如,本发明的实施方式包括计算机程序产品,该计算机程序产品包括有形地实现在计算机可读介质上的计算机程序,该计算机程序包含被配置为实现上文描述方法的程序代码。
在公开的上下文内,计算机可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。计算机可读介质可以是机器可读信号介质或机器可读存储介质。计算机可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机存储盘、存储盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
用于实现本发明的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施方式的描述。本说明书中在分开的实施方式的上下文中描述的某些特征也可以整合实施在单个实施方式中。相反地,在单个实施方式的上下文中描述的各种特征也可以分离地在多个实施方式或在任意合适的子组合中实施。
针对前述本发明的示例实施方式的各种修改、改变将在连同附图查看前述描述时对相关技术领域的技术人员变得明显。任何及所有修改将仍落入非限制的和本发明的示例实施方式范围。此外,前述说明书和附图存在启发的益处,涉及本发明的这些实施方式的技术领域的技术人员将会想到此处阐明的本发明的其他实施方式。
将会理解,本发明的实施方式不限于公开的特定实施方式,并且修改和其他实施方式都应包含于所附的权利要求范围内。尽管此处使用了特定的术语,但是它们仅在通用和描述的意义上使用,而并不用于限制目的。
Claims (18)
1.一种用于提供对内容资源的访问的方法,包括:
在网络服务器处,响应于接收到访问内容服务器中的第一内容资源的第一请求,从所述内容服务器中获取与所述第一内容资源的第一统一资源标识符URI相关联的元数据,其中所述网络服务器与所述内容服务器位于相同的域中,所述第一请求中包含所述第一URI,所述元数据至少指明所述第一内容资源的所述第一URI与所述第一内容资源的第二URI之间的映射关系,其中所述第一URI是所述第二URI的缩短版本,并且所述第二URI与所述第一URI具有相同的域名;
通过解析所述元数据,获取所述第二URI;以及
通过如下来利用所述第一内容资源的所述第二URI,以对所述第一请求进行响应:
通过对所述第二URI进行解析,识别第一内容资源;
识别与所述第一内容资源相关联的数据对象;以及
从所述内容服务器中获取所述数据对象。
2.根据权利要求1所述的方法,进一步包括:
在接收所述第一请求之前,
接收访问所述第一内容资源的第二请求,所述第二请求中包含所述第二URI;以及
创建所述第一URI与所述第二URI之间的所述映射关系,以生成与所述第一URI相关联的所述元数据。
3.根据权利要求2所述的方法,其中所述第二请求中包含报头信息,并且其中生成与所述第一URI相关联的所述元数据包括:
从所述第二请求中提取出所述报头信息;以及
将所述报头信息包括在所述元数据中。
4.根据权利要求1所述的方法,其中对所述第一请求进行响应进一步包括:
通过对所述数据对象进行解析,确定与所述第一内容资源相关联的第二内容资源;
识别所述第一内容资源和所述相关联的第二内容资源之间的链接关系;
基于所述链接关系,生成所述第二内容资源的第一URI;以及
基于所述第二内容资源的所述第一URI,确定所述第二内容资源的第二URI,所述第二内容资源的所述第二URI是所述第二内容资源的所述第一URI的缩短版本。
5.根据权利要求4所述的方法,其中确定所述第二内容资源的所述第二URI包括:
利用所述第二内容资源的所述第一URI,向所述内容服务器查询所述第二内容资源的所述第二URI。
6.根据权利要求5所述的方法,其中确定所述第二内容资源的所述第二URI进一步包括:
如果所述内容服务器中存在所述第二内容资源的所述第二URI,则从所述内容服务器获取所述第二内容资源的所述第二URI。
7.根据权利要求5所述的方法,其中确定所述第二内容资源的所述第二URI进一步包括:
如果所述内容服务器中不存在所述第二内容资源的所述第二URI,则创建所述第二内容资源的所述第一URI与所述第二内容资源的所述第二URI之间的映射关系;以及
基于所述第二内容资源的所述第一URI与所述第二内容资源的所述第二URI之间的所述映射关系,生成与所述第二内容资源的所述第二URI相关联的元数据。
8.根据权利要求7所述的方法,其中对所述第一请求进行响应进一步包括:
通过向所述数据对象中添加所述第一内容资源的所述第一URI以及所述第二内容资源的所述第二URI,来构建对所述第一请求的响应。
9.一种用于提供对内容资源的访问的装置,包括:
交互单元,被配置为在网络服务器处响应于接收到访问内容服务器中的第一内容资源的第一请求,从所述内容服务器中获取与所述第一内容资源的第一统一资源标识符URI相关联的元数据,其中所述网络服务器与所述内容服务器位于相同的域中,所述第一请求中包含所述第一URI,所述元数据至少指明所述第一内容资源的所述第一URI与所述第一内容资源的第二URI之间的映射关系,其中所述第一URI是所述第二URI的缩短版本,并且所述第二URI与所述第一URI具有相同的域名;
解析单元,被配置为通过解析所述元数据,获取所述第二URI;以及
响应单元,被配置为利用所述第一内容资源的所述第二URI,以对所述第一请求进行响应;
其中所述响应单元被进一步配置为:
通过对所述第二URI进行解析,识别所述第一内容资源;
识别与所述第一内容资源相关联的数据对象;以及
从所述内容服务器中获取所述数据对象。
10.根据权利要求9所述的装置,其中所述交互单元被进一步配置为:在接收所述第一请求之前,接收访问所述第一内容资源的第二请求,第二请求中包含所述第二URI;并且所述装置进一步包括:
创建单元,被配置为通过创建所述第一URI与所述第二URI之间的所述映射关系,生成与所述第一URI相关联的所述元数据。
11.根据权利要求10所述的装置,其中所述第二请求中包含报头信息,并且其中所述创建单元被进一步配置为:
从所述第二请求中提取出所述报头信息;以及
将所述报头信息包括在所述元数据中。
12.根据权利要求10所述的装置,其中:
所述响应单元被进一步配置为:
通过对所述数据对象进行解析,确定与所述第一内容资源相关联的第二内容资源;以及
识别所述第一内容资源和所述第二内容资源之间的链接关系;并且
所述创建单元被进一步配置为:
基于所述链接关系来生成所述第二内容资源的第一URI;以及
基于所述第二内容资源的所述第一URI,来确定所述第二内容资源的第二URI,所述第二内容资源的所述第二URI是所述第二内容资源的所述第一URI的缩短版本。
13.根据权利要求12所述的装置,其中所述创建单元被进一步配置为:
利用所述第二内容资源的所述第一URI,向所述内容服务器查询所述第二内容资源的所述第二URI。
14.根据权利要求13所述的装置,其中所述创建单元被进一步配置为:
如果所述内容服务器中存在所述第二内容资源的所述第二URI,则从所述内容服务器获取所述第二内容资源的所述第二URI。
15.根据权利要求13所述的装置,其中所述创建单元被进一步配置为:
如果所述内容服务器中不存在所述第二内容资源的所述第二URI,则创建所述第二内容资源的所述第一URI与所述第二内容资源的所述第二URI之间的映射关系,以及
基于所述第二内容资源的所述第一URI与所述第二内容资源的所述第二URI之间的所述映射关系,生成与所述第二内容资源的所述第二URI相关联的元数据。
16.根据权利要求15所述的装置,其中所述响应单元被进一步配置为:
通过向所述数据对象中添加所述第一内容资源的所述第一URI以及所述第二内容资源的所述第二URI,来构建对所述第一请求的响应。
17.一种服务器,包括:
至少一个处理单元;
存储器,被耦合到所述至少一个处理单元,并且存储有指令,当所述指令由所述至少一个处理单元执行时,执行根据权利要求1至8中任一项所述的方法。
18.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质具有存储于其上的计算机可读指令集合,所述计算机可读指令集合在由至少一个处理器执行时使设备执行根据权利要求1至8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510929192.9A CN106874315B (zh) | 2015-12-14 | 2015-12-14 | 用于提供对内容资源的访问的方法和装置 |
US15/375,303 US10666571B2 (en) | 2015-12-14 | 2016-12-12 | Method and apparatus for providing access of content resources |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510929192.9A CN106874315B (zh) | 2015-12-14 | 2015-12-14 | 用于提供对内容资源的访问的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874315A CN106874315A (zh) | 2017-06-20 |
CN106874315B true CN106874315B (zh) | 2021-01-15 |
Family
ID=59018226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510929192.9A Active CN106874315B (zh) | 2015-12-14 | 2015-12-14 | 用于提供对内容资源的访问的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10666571B2 (zh) |
CN (1) | CN106874315B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715539B1 (en) * | 2016-11-07 | 2020-07-14 | United Services Automobile Association (Usaa) | Request header anomaly detection |
US10652361B2 (en) | 2017-08-09 | 2020-05-12 | Open Text Corporation | Systems and methods for building and providing polymorphic REST services for heterogeneous repositories |
CN109819006B (zh) * | 2017-11-22 | 2022-08-09 | 京东方科技集团股份有限公司 | 对目标资源进行操作的方法、节点设备和终端装置 |
US11716264B2 (en) * | 2018-08-13 | 2023-08-01 | Cisco Technology, Inc. | In situ triggered function as a service within a service mesh |
CN112243013A (zh) * | 2019-07-16 | 2021-01-19 | 中国移动通信集团浙江有限公司 | 一种实现跨域资源缓存的方法、系统、服务器和存储介质 |
CN114070620B (zh) * | 2021-11-16 | 2024-04-02 | 中国平安人寿保险股份有限公司 | 短地址访问方法、装置、计算机设备及存储介质 |
US11711449B2 (en) * | 2021-12-07 | 2023-07-25 | Capital One Services, Llc | Compressing websites for fast data transfers |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827126A (zh) * | 2010-03-11 | 2010-09-08 | 青岛海信电器股份有限公司 | 电视终端的软件升级方法、电视终端和软件升级系统 |
CN101866682A (zh) * | 2009-04-15 | 2010-10-20 | 北京华旗资讯数码科技有限公司 | 网络多媒体播放系统 |
CN103733595A (zh) * | 2011-04-07 | 2014-04-16 | 交互数字专利控股公司 | 用于本地数据缓冲的方法和设备 |
CN104735066A (zh) * | 2015-03-18 | 2015-06-24 | 百度在线网络技术(北京)有限公司 | 一种面向网页应用的单点登录方法、装置和系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059941A1 (en) * | 2002-09-19 | 2004-03-25 | Myfamily.Com, Inc. | Systems and methods for identifying users and providing access to information in a network environment |
CN101047664A (zh) * | 2006-06-09 | 2007-10-03 | 华为技术有限公司 | 用于实现多目标方业务或操作的方法和装置 |
CN101005485A (zh) * | 2006-12-14 | 2007-07-25 | 钟杨 | 一种信息资源地址压缩编码的方法及系统 |
US8812409B2 (en) * | 2007-12-07 | 2014-08-19 | Z-Firm, LLC | Reducing payload size of machine-readable data blocks in shipment preparation packing lists |
FR2929798B1 (fr) * | 2008-04-02 | 2011-11-04 | Alcatel Lucent | Procede d'etablissement d'une communication a partir d'un terminal mobile en mode dual. |
US20130254314A1 (en) * | 2009-06-09 | 2013-09-26 | Edmond K. Chow | Digital content delivery |
US9154296B1 (en) | 2012-09-28 | 2015-10-06 | Emc Corporation | Secure and anonymous distributed authentication |
US10536545B2 (en) * | 2013-09-27 | 2020-01-14 | Oracle International Corporation | Cloud database connection multiplexing |
US9432484B1 (en) | 2013-12-19 | 2016-08-30 | Emc Corporation | CIM-based data storage management system having a restful front-end |
US10165025B2 (en) * | 2015-04-03 | 2018-12-25 | Qualcomm Incorporated | Techniques for HTTP live streaming over eMBMS |
-
2015
- 2015-12-14 CN CN201510929192.9A patent/CN106874315B/zh active Active
-
2016
- 2016-12-12 US US15/375,303 patent/US10666571B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866682A (zh) * | 2009-04-15 | 2010-10-20 | 北京华旗资讯数码科技有限公司 | 网络多媒体播放系统 |
CN101827126A (zh) * | 2010-03-11 | 2010-09-08 | 青岛海信电器股份有限公司 | 电视终端的软件升级方法、电视终端和软件升级系统 |
CN103733595A (zh) * | 2011-04-07 | 2014-04-16 | 交互数字专利控股公司 | 用于本地数据缓冲的方法和设备 |
CN104735066A (zh) * | 2015-03-18 | 2015-06-24 | 百度在线网络技术(北京)有限公司 | 一种面向网页应用的单点登录方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
US10666571B2 (en) | 2020-05-26 |
CN106874315A (zh) | 2017-06-20 |
US20170171104A1 (en) | 2017-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874315B (zh) | 用于提供对内容资源的访问的方法和装置 | |
US9418218B2 (en) | Dynamic rendering of a document object model | |
US9544295B2 (en) | Login method for client application and corresponding server | |
TWI387933B (zh) | 用於安全模組間通訊機制之方法及裝置 | |
US9544288B2 (en) | Messaging gateway | |
US10552238B2 (en) | Secure inter-process communications for mobile devices | |
US11368447B2 (en) | Oauth2 SAML token service | |
US10264016B2 (en) | Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application | |
CN109218368B (zh) | 实现Http反向代理的方法、装置、电子设备和可读介质 | |
US11675868B2 (en) | Dynamic service worker code for storing information in web browser | |
EP2873020B1 (en) | Scalable fine-grained multi-service authorization | |
US10057217B2 (en) | System and method to secure sensitive content in a URI | |
US11381564B2 (en) | Resource security integration platform | |
CN108810896B (zh) | 无线接入点的连接认证方法和装置 | |
CN112703496A (zh) | 关于恶意浏览器插件对应用用户的基于内容策略的通知 | |
WO2015074459A1 (zh) | 打开网页、调用客户端及创建轻应用的方法及装置 | |
CN107844488B (zh) | 数据查询方法和装置 | |
US20190340342A1 (en) | Broker-based messaging through sql | |
US11403156B2 (en) | API hub architecture | |
JP6034368B2 (ja) | 認証情報処理 | |
EP3502925B1 (en) | Computer system and method for extracting dynamic content from websites | |
CN112948727A (zh) | 基于WebView的数据注入方法、装置、设备及存储介质 | |
CN114422166A (zh) | 一种网页访问方法、装置、电子设备、介质及产品 | |
CN115348462A (zh) | 特效数据的配置方法、装置、设备、存储介质及通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200424 Address after: Massachusetts, USA Applicant after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Applicant before: EMC Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |