CN101997903A - 用于处理超文本传输协议请求的方法和系统 - Google Patents
用于处理超文本传输协议请求的方法和系统 Download PDFInfo
- Publication number
- CN101997903A CN101997903A CN2009101709527A CN200910170952A CN101997903A CN 101997903 A CN101997903 A CN 101997903A CN 2009101709527 A CN2009101709527 A CN 2009101709527A CN 200910170952 A CN200910170952 A CN 200910170952A CN 101997903 A CN101997903 A CN 101997903A
- Authority
- CN
- China
- Prior art keywords
- domain name
- http request
- application
- new
- original http
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/301—Name conversion
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/35—Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- 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]
-
- 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/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- 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/954—Navigation, e.g. using categorised browsing
-
- 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/345—Types of network names containing wildcard characters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及超文本传输协议(HTTP,Hypertext Transfer Protocol)会话技术,尤其涉及用于处理HTTP请求的方法和系统。本发明提供了一种用于处理HTTP请求的方法,包括:接收要对应用的实例进行访问的原始HTTP请求;如果所述原始HTTP请求要访问的域名与所述应用的域名相同,将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名,以生成要对所述应用的实例进行访问的新的HTTP请求,并且将所述新的HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问,其中所述原始HTTP请求要访问的域名和所述新域名对应于相同的IP地址。从而避免现有技术中在同一超文本传输协议会话中运行同一应用的多个服务实例时出现的诸如数据混淆、数据错误、使用不便等各种问题。
Description
技术领域
本发明涉及超文本传输协议(HTTP,Hypertext Transfer Protocol)会话技术,尤其涉及用于处理HTTP请求的方法和系统。
背景技术
HTTP超文本传输协议是一种单向协议。所谓单向协议是指,根据HTTP协议,服务器不能主动向客户端发出连接请求,只能被动地等待并答复客户端发出的HTTP请求。由于HTTP其本身并不支持在服务器保存客户端的状态信息,因此引入了一种状态管理机制,即会话机制,用以在服务器与客户端之间保持会话状态。
会话机制的引入克服了HTTP的一些限制,使得能够在客户端及服务器维护各HTTP请求间的关系。根据会话机制,当客户端初次连接服务器时,在服务器建立HTTP会话并保存与该会话相关的变量,同时产生一个HTTP会话标识(session id)用来识别该会话的变量。接着,服务器会在HTTP响应中指示浏览器在客户端生成与该HTTP会话标识对应的“Cookie”。Cookie是服务器存储在客户端的一小段文本,在会话期间,每次通过浏览器向服务器发出HTTP请求时,都会将Cookie中包含的会话标识包括在HTTP请求中发送给服务器,从而使服务器能够识别该会话,并获得与该会话相关的变量。
然而,在现有技术中,通常存在这样的情况,即,通常在一个HTTP会话中需要运行与同一应用对应的多个应用实例。由于同一应用多个应用实例的域名都是相同的,在这种情况下,应用的服务器为请求访问不同的应用实例的所有HTTP请求均生成相同的会话标识(sessionid),也就是说,该多个应用实例共享了同一个HTTP会话。此时,就可能会出现问题,例如数据混淆、数据丢失、数据出错等,并且严重影响用户体验。
图1示出了传统的、可能会出现问题的具有多个应用实例的应用环境的示例。如图1所示,在该示例中,有两个服务器,一个是门户服务器110,另一个是软件即服务应用(SaaS,Software As a Service)服务器,诸如结算服务器120。
用户可以通过浏览器以自己的用户名和密码登陆门户服务器110,随后用户进入页面100。在页面100中,包括有三个用户接口组件,即内嵌框架(IFrame)101、内嵌框架102和内嵌框架103。IFrame101、IFrame 102和IFrame 103都对应于相同的结算应用,因此它们的接入点(IP地址)相同。然而,与IFrame 101对应的服务实例是“A”公司的主数据,与IFrame 102对应的服务实例是“B”公司的主数据,而与IFrame 103对应的服务实例是与“C”公司对应的主数据。
在图1的左下方示出了这三个IFrame都打开时的Cookie 104的示例。从该示例可以看出,Cookie 104中存在两个会话标识,即SESSIONID 105和SESSIONID 106。SESSIONID 105用于在与门户服务器110通信时使用,同时在门户服务器110中保存有与SESSIONID105对应的变量信息111。SESSIONID 106用于在与结算服务器120通信时使用,同时在结算服务器120中保存有与SESSIONID 106对应的变量信息121。
根据现有技术,尽管在这种情况下存在与结算应用对应的三个应用实例,但在与结算服务器120通信时,却都是使用SEESIONID 106,这是因为应用服务器(结算服务器)对于请求访问这三个应用实例的HTTP请求只分配一个HTTP会话标识(session id)——SESSIONID106。由于利用该SESSIONID 106根本无法区分正在使用的是哪个应用实例,因此通常会出现问题。这是因为在对“A”公司的主数据进行操作之后,结算服务器120处所存储的会话变量是与“A”公司相关的值,而在对“B”公司的主数据进行操作后,结算服务器120处所存储的会话变量可能是与“B”公司相关的值。因此,在操作了“B”公司的主数据后,再提交访问“A”公司的HTTP请求以返回查看“A”公司的主数据,此时看到的实际可能是与“B”公司相关的主数据。这造成了极大的混乱,并且还会出现数据错误的问题。
为了解决该问题,在一些应用中,特别地设计了一种机制,该机制在检测到在同一HTTP会话期间要求实例化同一应用的多个服务实例时,禁止该操作。换句话讲,如果想要处理其他公司的数据,必须结束当前HTTP会话,重新连接服务器。利用这种方式,虽然避免了数据混乱和数据错误的问题,但是却非常麻烦,给用户带来了很不好的体验。因此,这种解决方案在根本上是不能满足商业需求的。
还有另一种解决方案,即仅确保最后接入的服务实例的数据正确。这种方案简单,但是用户不能查看先前应用实例的主数据。这依然给用户带来了很大的不便。
虽然图1示出了结算服务器和门户服务器位于同一域中的环境,实际上在结算服务器和门户服务器处于不同域时也同样会存在这些问题。
发明内容
为此,本发明提供了一种用于处理HTTP请求的方法和系统,以便克服现有技术中的问题。
根据本发明的一个方面,提供了一种用于处理超文本传输协议HTTP请求的方法,包括:接收要对应用的实例进行访问的原始HTTP请求;如果所述原始HTTP请求要访问的域名与所述应用的域名相同,将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名,以生成要对所述应用的实例进行访问的新的HTTP请求,并且将所述新的HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问,其中所述原始HTTP请求要访问的域名和所述新域名对应于相同的IP地址。
在本发明的一个实施方式中,所述用于处理超文本传输协议HTTP请求的方法还包括:如果所述原始HTTP请求要访问的域名与所述应用的域名不同,直接将所述原始HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问。
根据本发明的另一方面,提供了一种用于处理超文本传输协议HTTP请求的系统,包括:接收模块,用于接收要对应用的实例进行访问的原始HTTP请求;修改模块,被配置为如果所述原始HTTP请求要访问的域名与所述应用的域名相同,将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名,以生成要对所述应用的实例进行访问的新的HTTP请求;以及发送模块,被配置为将所述新的HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问,其中所述原始HTTP请求要访问的域名和所述新域名对应于相同的IP地址。
在本发明的一个实施方式中,所述发送模块还被配置为:如果所述原始HTTP请求要访问的域名与所述应用的域名不同,直接将所述原始HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问。
通过本发明的方法和系统,可以避免现有技术中在同一超文本传输协议会话中运行同一应用的多个服务实例时出现的诸如数据混淆、数据错误、使用不便等各种问题,并给用户带来了良好的体验,从而很好地满足了商业需求。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中,
图1示出了传统的、可能会出现问题的具有多个应用实例的应用环境的示例;
图2示意性地示出了根据本发明一个实施方式的用于处理HTTP请求的方法的流程图;
图3示意性地示出了根据本发明另一实施方式的用于处理HTTP请求的方法的流程图;
图4A示意性地示出了根据本发明一个实施方式的对域名进行判断的方法的流程图;
图4B示意性地示出了根据本发明另一实施方式的对域名进行判断的方法的流程图;
图5示意性地示出了根据本发明一个实施方式的用于处理客户端所提交的HTTP请求的方法的流程图;
图6示意性地示出了根据本发明一个实施方式的记录与新域名相关信息的表;
图7示意性地示出了根据本发明一个实施方式的用于处理HTTP请求的系统的框图;
图8示意性地示出了根据本发明另一实施方式的用于处理HTTP请求的系统的框图;
图9示意性地示出了根据本发明另一实施方式的用于处理客户端所提交的HTTP请求的方法的流程图。
具体实施方式
在下文中,将参考附图通过实施方式对本发明提供的用于处理HTTP请求的方法和系统进行详细地描述。
图2示出了根据本发明一个实施方式的用于处理HTTP请求的方法的流程图。参考图2,首先在步骤201,接收要对应用的实例进行访问的原始HTTP请求,这样的HTTP请求可以由使用该应用的客户从客户端浏览器发出,之所以称其为原始HTTP请求,是因为这样的HTTP请求直接由客户端发出并在步骤201中被接收,中间没有经过修改处理。
在步骤202中,如果所接收的原始HTTP请求要访问的域名与应用的域名相同,则将所接收到的原始HTTP请求的域名修改为新域名。从上文对图1的描述中可以看出,对于一个应用而言,无论它具有多少实例,所有实例的域名都是相同的,也就是说,客户端无论访问应用的哪一个实例,所提交的HTTP请求中的域名部分都是应用的域名。而在步骤202中,所修改的新域名显然是指不同于该应用的域名的域名,而且这样的新域名一定与该应用的域名指向相同的IP地址,如果它们不指向相同的IP地址,则客户端显然无法正确地访问其所要访问的应用。因此,当将原始HTTP请求要访问的域名修改为新域名后,该原始HTTP请求也就成为了要对所述应用的实例进行访问的新的HTTP请求。本领域技术人员可以了解,两个或者多个不同的域名指向相同的IP地址属于“泛域名”技术。举例而言,比如用户的域名是abc.com,那么将主机名设置为“*”,IP解析到比如:218.104.78.100,本领域技术人员应当了解“*”是通配符,它表明abc.com之前的所有子域名都将解析到218.104.78.100,这就意味着例如输入bbs.abc.com或者123.abc.com或者123.234.abc.com都将解析到218.104.78.100。
根据本发明另一个实施方式,通过向接收到的原始HTTP请求的URL地址的头部加入随机产生的符号来将原始HTTP请求要访问的域名修改为新的域名。例如,某应用的URL地址是HTTP://oa.wds.com,现在客户端请求访问该应用对于公司A的实例a,在用户通过客户端浏览器点击公司A之后即向应用的服务器发出原始HTTP请求HTTP://oa.wds.com/oa?sid=a,这也就是该原始HTTP请求要访问的URL地址。其中该原始HTTP请求要访问的域名是oa.wds.com(“/”之前的部分),那么现在向该域名的头部插入随机产生的符号“aabbcc”,使得经修改后的新域名变成aabbcc.oa.wds.com。由上述“泛域名”的概念可知,aabbcc.oa.wds.com和oa.wds.com一定都将解析到相同的IP地址。应当了解,这只是其中一种将原始HTTP请求要访问的域名修改为新域名的方式,本领域技术人员可以采取多种其它方式修改原始HTTP请求要访问的域名,只要保证修改后的新的域名和原始HTTP请求要访问的域名指向相同的IP地址,即可实现本发明的目的并落入本发明的保护范围。
根据本发明的又一个实施方式,上述随机产生的符号应当受到一定的新域名模式的限制。举例而言,将新域名模式预先定义为“aa****”,也就是说,向域名的头部插入的符号由6位组成,其中前两位是固定的“aa”,而后4位才是随机产生的其它符号。在预先定义了这样的新域名模式后,在修改原始HTTP请求要访问的域名时,就按照所定义的新域名模式进行修改。这样做的其中一个目的是,可以将接收到的原始HTTP请求的域名的模式与预先定义的新域名模式进行比对,从而判断原始HTTP请求要访问的域名是否与应用的域名相同。关于这部分内容,在对附图4B的文字描述中有详细记载。
还需要指出的是,在一个应用包含多个应用实例的情形下,为了对每个应用实例的HTTP会话进行隔离,需要对访问每个应用实例的HTTP请求分配不同的HTTP会话标识(session id),也就是说,需要将访问每个应用实例的HTTP请求(初次访问该应用实例时)修改为不同的新的HTTP请求,只有这样,才能保证应用的服务器为访问每个应用实例的HTTP请求分配不同的HTTP会话标识。
在步骤203中,将包含新域名的要对所述应用的实例进行访问的新的HTTP请求发送至应用的服务器,以对所述应用的实例进行访问。本领域技术人员应当了解,由于应用的服务器分配HTTP session(会话)是根据所接收到的HTTP请求中的域名部分来进行的,也就是说对于具有相同的域名部分的HTTP请求分配相同的HTTP会话标识(session id),而对于具有不同的域名部分的HTTP请求分配不同的HTTP会话标识(session id),因此经步骤202修改后的包含新域名的HTTP请求自然而然地就可以由应用的服务器分配不同于原始HTTP请求的HTTP会话标识,从而如果对每一个针对同一应用的不同应用实例所提交的原始HTTP请求都进行这样的修改,就可以使得虽然这些原始HTTP请求要访问的域名部分都相同,但是每一个原始HTTP请求最终都可以由应用的服务器分配不同的HTTP会话标识,从而对HTTP会话进行隔离。
图3根据本发明另一实施方式的用于处理HTTP请求的方法的流程图。可以理解,图3是在图2的基础上包含了判断步骤以及与客户端交互步骤的流程图。具体地,步骤301与步骤201相同,接收要对应用的实例进行访问的原始HTTP请求。
在步骤302中,对接收到的原始HTTP请求进行判断,判断该请求的域名部分是否与应用的域名相同。如果判断结果为是,则执行步骤303,如果判断结果为否,则执行步骤307。
在步骤303中,执行与步骤202中相同的操作,将原始HTTP请求的域名修改为新域名。在步骤304中,将包含修改后的新域名的新HTTP请求返回至客户端,使得客户端能够记录对应于应用的特定实例的新域名。可选地,客户端可以重新提交所述包含了修改后的新域名的新的HTTP请求。可选地,客户端仅仅记录对应于应用的特定实例的新域名,但是并不重新提交所述包含了修改后的新域名的新的HTTP请求。需要指出的是,这里利用了URL地址重定向技术(URLRedirection),客户端会自动提交所述新的HTTP请求,也就是包含被重定向后的URL地址的HTTP请求,而无需用户在客户端再次执行提交HTTP请求的操作。在这里,将新HTTP请求返回至客户端而不是直接发送至应用的目的在于,使得客户端知晓并记录其所提交的原始HTTP请求被修改为什么样的新的HTTP请求,这样用户在下一次请求访问同一应用实例时就可以直接提交被记录下的包含新域名的新HTTP请求,从而不用再次经历修改域名的过程,也就是在步骤302中判断为否,然后直接执行步骤307将原始HTTP请求发送至所述应用。需要指出的是,将新的HTTP请求返回至客户端并非本发明必须的步骤,本领域技术人员也可以选择直接将新的HTTP请求发送至应用,并且在下一次客户端提交访问同一实例的HTTP请求时重新对原始HTTP请求的域名进行修改。
在步骤305中接收由客户端记录完成后并且重新提交的新的HTTP请求,在步骤306中将新的HTTP请求发送至应用。需要指出的是,步骤305仅是本发明的一种实施方式,可选地,客户端仅仅记录对应于应用的特定实例的新域名,但是并不重新提交所述包含了修改后的新域名的新的HTTP请求。
图4A和图4B针对图3中的步骤302,进一步给出了两种根据本发明判断原始HTTP请求的域名是否与应用的域名相同的实施例。如图4a所示,在步骤401A中,获取HTTP请求要访问的URL地址。本领域技术人员应当了解,在一个完整的HTTP请求中,除了该HTTP请求要访问的URL地址外,还包括其它的一些信息例如cookie信息。而在步骤401A中仅需要获取HTTP请求要访问的URL地址,从而在步骤402中分析所获取的URL地址的域名部分。
在步骤403A中,判断所获取的URL地址的域名部分是否与应用域名列表中的域名相同,如果是,则在步骤404A中确定原始HTTP请求要访问的域名与应用的域名相同;如果否,则在步骤405A中确定原始HTTP请求要访问的域名与应用的域名不同。需要指出的是,应用域名列表是指已经存在的记录下所有应用的域名的表格,这种判断方法在所提供的应用的数量有限且较为固定的情形下具有优势,只要将HTTP请求的URL地址的域名部分通过查表与应用域名列表中列举的域名一一比对,即可确定原始HTTP请求要访问的域名与应用的域名是否相同。
下面参考图4B所示的根据本发明另一判断原始HTTP请求的域名与应用的域名是否相同的实施例。步骤401B和402B对应于401A和402A,分别是获取HTTP请求的URL地址和分析所获取的URL地址的域名部分,在此不再详述。与图4a所示的实施方式不同的是,在步骤403B中,判断所获取的URL中的域名部分的模式与预定义的新域名模式是否相同。如果是,则在步骤404B中确定原始HTTP请求要访问的域名与应用的域名不同;如果否,则在步骤405B中确定原始HTTP请求要访问的域名与应用的域名相同。本领域技术人员应当了解,当所提供的应用的数量较多或者动态变化的情形下,图4B所示的判断方法具有优势。这是因为,如果应用的数量较多或者动态变化,将难以实时地把所有应用的域名一一预先记录,而通过比较原始HTTP请求的URL的域名部分的模式与预定义的新域名的模式,可以判断出原始HTTP请求要访问的域名是否与应用的域名相同。新域名模式的具体示例在图2的文字描述中已有记载,在此不作过多描述。
图5示出了根据本发明一个实施方式的用于处理客户端所提交的HTTP请求的方法的流程图。其中,步骤501至步骤504已经在上文对图2至图4的描述中有过详细记载,这里重点描述客户端与服务器建立通信后HTTP会话被隔离的过程。
在步骤505中,应用的服务器为新的HTTP请求生成HTTP会话标识(session id),并将会话标识返回至发出所述原始HTTP请求的客户端。本领域技术人员应当了解,此步骤是由HTTP协议规范决定的,对于任何HTTP请求,根据会话机制,当客户端初次连接服务器时,在服务器建立HTTP会话并保存与该会话相关的变量,同时产生一个HTTP会话标识(ID)用来识别该会话的变量。
在步骤506,一旦应用的服务器将HTTP会话标识发送至客户端,客户端就记录所述会话标识和修改后的域名的对应关系。本领域技术人员应当了解,根据HTTP协议规范,客户端可以自动在本地cookie中记录会话标识和域名的对应关系。在步骤507中,如果客户再次访问同一应用实例,那么客户端所提交的HTTP请求中就自动包含了之前已经修改过并记录下来的对应于该应用实例的新HTTP请求(参见步骤507),并且包含了与新HTTP请求要访问的域名所对应的HTTP会话标识(session id)(参见步骤508)。那么在步骤509中,客户端将HTTP会话标识和HTTP请求一起发送至应用(参见图3的步骤302和307,当检测到这样的原始HTTP请求要访问的域名与应用的域名不同时,直接将原始HTTP请求发送至所述应用),从而利用所述会话标识与应用建立通信。由于对于不同的应用实例,修改且记录的新的域名是不同的,因此由应用的服务器分配的会话标识也是不同的,这样客户端请求访问同一应用的不同应用实例时就可以利用不同的会话标识与应用建立HTTP通信。
需要指出的是,尽管图5所示的流程图中示出了应用服务器生成HTTP会话标识并将会话标识发送至客户端、客户端记录会话标识与域名的对应关系、客户端再次访问同一实例时向应用发送之前生成的会话标识以及之前记录的新域名等步骤(参见步骤505至509),并不意味着上述步骤是本发明的必要步骤。本领域技术人员可以了解,本发明的多个实施方式正是利用现有技术中的HTTP协议规范(包括生成HTTP会话标识以及在cookie中记录会话标识,并且再次访问时自动发送所述会话标识)的内容,通过在访问某应用实例的原始HTTP请求要访问的域名与应用的域名相同的情况下修改原始HTTP请求的域名,来获得不同的HTTP会话标识,从而实现隔离HTTP会话的目的。也就是说,上述步骤505至509是由现有技术中的HTTP协议规范决定的,必须建立在步骤503修改域名的基础上才能实现隔离HTTP会话的目的,记载步骤505至509的目的是为了详细描述隔离HTTP会话的全过程,它们并不构成本发明的实施方式所提供的技术方案中的技术特征的一部分。
图6示意性地示出了根据本发明一个实施方式的记录与新域名相关信息的表。根据上文的描述,客户端初次访问某应用实例时的HTTP请求中的域名部分会被修改为新的域名,从而生成新的HTTP请求,而客户端以后再次访问同一应用实例时就可以利用已经生成并记录下来的新域名发出HTTP请求,并且利用已经由应用的服务器生成的对应于新的HTTP请求的会话标识与应用服务器建立通信。那么根据本发明的一实施例,可以限定并记录新域名的有效期限,并且记录访问某实例的最后访问时间。也就是说,限定之前已经被记录下来的新域名仅在一定时间期限内有效,超过这一期限后,即使客户端再次访问同一应用实例,也不能利用已有的新域名和已经的HTTP会话标识与应用服务器建立通信,而是需要重新发出包含与应用的域名相同的域名部分的原始HTTP请求,并再次对其进行修改以生成新的HTTP请求。此实施方式对于提高网络应用访问系统的安全性是有帮助的。具体地,参考图6示出的表,某应用具有两个应用实例,分别是公司A的实例和公司B的实例,最后访问公司A实例的时间是2008年1月23日16:05分,对应于公司A的新域名的时间期限是15分钟;最后访问公司B实例的时间是2008年1月23日16:08分,对应于公司B的新域名的时间期限是23分钟。假设当前时间是2008年1月23日16:30分,客户端再次提交访问公司A实例的请求,那么检测到已超出15分钟的新域名有效期限,于是提交包含域名oa.wds.com的HTTP请求,并对其进行修改。假设同样在2008年1月23日16:30分,客户端再次提交访问公司B实例的请求,那么检测到尚未超出23分钟的新域名有效期限,于是提交包含域名XEQIES23.oa.wds.com的HTTP请求,无需对其进行修改,直接发送至应用的服务器。
图7示出了根据本发明一个实施方式的用于处理HTTP请求的系统的框图。该系统在图7中总体上由700表示。具体地,系统700包括接收模块701,域名修改模块702和发送模块703。接收模块701用于接收要对应用的实例进行访问的原始HTTP请求。域名修改模块702用于在所述原始HTTP请求的域名与应用的域名相同的情况下,将原始HTTP请求的域名修改为新域名,以生成要对所述应用的实例进行访问的新的HTTP请求。其中利用泛域名技术使得新域名与原始HTTP请求的域名指向相同的IP地址——应用的IP地址,只有这样才能保证客户端对应用的正确访问。发送模块703用于将包含新域名的新的HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问。图7所示的系统包含的模块701-703可以理解为分别对应于图2所示的方法的步骤201-203,具体的修改域名的实施方式、以及对修改后的新域名的模式限制等内容可参考图2的文字描述部分的详细记载。
图8示出了根据本发明另一实施方式的用于处理HTTP请求的系统的框图。图8所示的系统在总体上由800表示。具体地,系统800包括接收模块801,域名判断模块802,域名修改模块803,返回模块804,发送模块805和记录模块806。接收模块801、域名修改模块803和发送模块805分别对应于图7所示的系统中的模块701-703,也对应于图2所示的方法中的步骤201-203。可以理解域名判断模块802对应于图3所示的步骤302,该模块用于判断由接收模块801接收到的访问应用实例的原始HTTP请求要访问的域名是否与应用的域名相同。在域名判断模块输出判断结果为是情况下,由域名修改模块803对域名进行修改,并由返回模块804将修改后的新域名返回至客户端。域名判断模块802可以利用图4a和图4b所示的实施方式进行判断,具体判断的方法已在图4的文字描述部分详细记载。需要指出的是,在此实施方式中,接收模块801除了接收原始HTTP请求外,也要接收客户端重新提交的新的HTTP请求。发送模块805用于将新的HTTP请求发送至应用,还用于在域名判断模块802的输出为“否”的情况下,直接将原始HTTP请求发送至应用。记录模块806用于记录对应用实例访问的最后时间以及对应于该应用实例的新域名的有效期限等信息,具体内容可以参照图6所示的记录表。
图9示出了根据本发明另一实施方式的用于处理客户端所提交的HTTP请求的方法的流程图。根据本发明一实施方式的用于处理HTTP请求的系统可以部署于应用服务器侧。该系统用于实现图2至图5所示的方法。本领域技术人员可以了解,该系统也可以部署于应用服务器之外,只要该系统可以在HTTP请求到达应用服务器之前接收该HTTP请求并对其进行处理即可。
如图9所示,用户(例如一家会计师事务所)登录应用门户网站www.wds.com,该门户网站可以提供多个应用服务,例如包括会计服务、人力资源管理服务、IT服务等等。这些应用服务可以是软件即服务SaaS。然后用户点击该应用门户网站上提供的多种应用之一例如会计服务,该会计服务的域名是oa.wds.com,用户进入会计服务的主页后,通过客户端浏览器点击公司A的应用实例来对公司A提供会计服务。用户点击了页面上的“公司A”之后,发出一个HTTP请求,该HTTP请求要访问的URL地址是HTTP://oa.wds.com/oa?sid=a,用于隔离HTTP会话的系统接收到这个HTTP请求,分析出该HTTP请求要访问的域名是oa.wds.com(域名是指URL地址中HTTP://之后并且“/”之前的部分),并且判断出该域名与会计服务的应用的域名相同,于是将该域名修改为SZQIES12.oa.wds.com,并将包含了修改后的域名的新HTTP请求返回至客户端浏览器,客户端自动在本地记录该修改后的域名,然后重新发送新的HTTP请求。用于隔离HTTP会话的系统接收到这个新的HTTP请求后,判断出该HTTP请求的域名部分不是应用的域名,于是向应用的服务器发送该HTTP请求。需要指出的是,用于隔离HTTP会话的系统还可以既将包含了修改后的域名的新HTTP请求返回至客户端浏览器,又将包含了修改后的域名的新HTTP请求发送至应用的服务器,而不需要由客户端重新发送新的HTTP请求。之后,根据HTTP协议规范,应用服务器响应该新的HTTP请求,并为域名SZQIES12.oa.wds.com生成对应的HTTP会话标识(session id)CDWDUWE,并将该会话标识随着HTTP响应发送至客户端,由客户端浏览器记录在“公司A”实例的cookie中。
同样地,从图9可以看出,当用户在会计服务应用主页中点击标签“公司B”后,应用服务器为修改后的域名XEQIES23.oa.wds.com生成对应的HTTP会话标识(session id)CDWDUST,并将该会话标识随着HTTP响应发送至客户端,由客户端浏览器记录在“公司B”实例的cookie中。
接下来,当用户再次点击“公司A”标签时,由于客户端已经记录了修改后的新域名SZQIES12.oa.wds.com,因此自动以新域名发送HTTP请求,并且发送之前在客户端cookie中记录下来的对应的HTTP会话标识(session id)CDWDUWE。根据本发明一实施方式的系统判断出该HTTP请求的域名部分不是应用的域名oa.wds.com,于是直接将该HTTP请求发送至会计服务应用,会计服务应用服务器利用接收到的会话标识CDWDUWE对该HTTP请求进行响应。
同样地,虽然图9中没有示出,本领域技术人员也可以了解,当用户再次点击“公司B”标签时,执行上述类似的操作。
此外,虽然在上面示出的实施方式中,结合SaaS应用来描述本发明,但这只是示例性的,本发明并非仅限于此。本发明中的应用可以是任何适当的应用,诸如像电子邮件应用、网上银行应用等一般的网络应用。
另外,虽然在上面示出的实施方式中,描述了本发明在一个浏览器实例的情况下的应用,但并不应当将其理解为是对本发明的限制。实际上,本发明适应用于在一个HTTP会话中需要运行同一应用的多个服务实例的环境,而与并非只是单个浏览器实例的情况。如果浏览器被设计为多个浏览器实例共享一个HTTP会话,则依然能够应用本发明。
此外,虽然在上面示出的实施方式中,结合IFrame对本明进行了详细描述,这只是出于说明的目的。实际上,本发明并不仅限于IFrame,本发明还可以应用于具有例如选项卡等任何其他适当的用户接口组件的环境中。
利用本发明的方法,通过将访问同一应用的不同实例的HTTP请求的域名部分修改为新的域名,实现了对现有技术中的HTTP会话的隔离,从而得到了与各个服务实例对应的子会话。在与服务器进行通信时,各个服务实例使用与其对应的HTTP子会话,从而使得服务器能够通过各个HTTP会话标识识别出各个服务实例,进而确保了数据的正确性,避免了现有技术中引起的混淆,并且这对于用户是透明的,从而带来了良好的用户体验,更好地满足了商业的需求。
通过以上对具体实施例的描述,本领域技术人员可以理解,上述的系统、装置和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的装置、服务器及其单元可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。
虽然以上结合具体实施例,对本发明的利用远程应用处理本地文件的系统及方法进行了详细描述,但本发明并不限于此。本领域普通技术人员能够在说明书教导之下对本发明进行多种变换、替换和修改而不偏离本发明的精神和范围。应该理解,所有这样的变化、替换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利要求来限定。
Claims (24)
1.一种用于处理超文本传输协议HTTP请求的方法,包括:
接收要对应用的实例进行访问的原始HTTP请求;
如果所述原始HTTP请求要访问的域名与所述应用的域名相同,将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名,以生成要对所述应用的实例进行访问的新的HTTP请求,并且将所述新的HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问,其中所述原始HTTP请求要访问的域名和所述新域名对应于相同的IP地址。
2.如权利要求1所述的方法,还包括:如果所述原始HTTP请求要访问的域名与所述应用的域名不同,直接将所述原始HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问。
3.如权利要求1或2所述的方法,还包括:将所述新的HTTP请求返回至发出所述原始HTTP请求的客户端。
4.如权利要求1或2所述的方法,还包括获取所述原始HTTP请求的URL,并分析所获取的URL中的域名部分以判断所述原始HTTP请求要访问的域名是否与所述应用的域名相同。
5.如权利要求4所述的方法,如果所获取的URL中的域名部分与预定义的应用域名列表中的域名相同,则确定所述原始HTTP请求要访问的域名与所述应用的域名相同。
6.如权利要求4所述的方法,如果所获取的URL中的域名部分的模式与预定义的新域名模式不同,则确定所述原始HTTP请求要访问的域名与所述应用的域名相同。
7.如权利要求1-6任一所述的方法,其中将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名包括:向所述原始HTTP请求的URL的头部加入随机产生的符号。
8.如权利要求7所述的方法,所述随机产生的符号符合预定义的新域名模式。
9.如权利要求1-8任一所述的方法,还包括记录如下内容:所述新域名、根据所述新域名对所述应用进行最后一次访问的时间以及将所述新域名设置为无效域名的时间期限。
10.如权利要求9所述的方法,还包括:根据所记录的最后一次访问的时间和所记录的时间期限,判断是否保持当前接收到的新域名有效,如果判断结果为否,将所述当前接收到的新域名视为与所述应用的域名相同的原始域名。
11.如权利要求1-10任一所述的方法,对于请求对同一应用的不同实例进行访问的不同的原始HTTP请求,所修改得到的新域名各不相同,其中不同的原始HTTP请求要访问的域名与所述同一应用的域名相同。
12.如权利要求1-11任一所述的方法,所述应用是软件即服务应用。
13.一种用于处理超文本传输协议HTTP请求的系统,包括:
接收模块,用于接收要对应用的实例进行访问的原始HTTP请求;
修改模块,被配置为如果所述原始HTTP请求要访问的域名与所述应用的域名相同,将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名,以生成要对所述应用的实例进行访问的新的HTTP请求;以及
发送模块,被配置为将所述新的HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问,其中所述原始HTTP请求要访问的域名和所述新域名对应于相同的IP地址。
14.如权利要求13所述的系统,所述发送模块还被配置为如果所述原始HTTP请求要访问的域名与所述应用的域名不同,直接将所述原始HTTP请求发送至所述应用的服务器以对所述应用的实例进行访问。
15.如权利要求13或14所述的系统,还包括返回模块,被配置为将所述新的HTTP请求返回至发出所述原始HTTP请求的客户端。
16.如权利要求13或14所述的系统,还包括判断模块,用于获取所述原始HTTP请求的URL,并分析所获取的URL中的域名部分以判断所述原始HTTP请求要访问的域名是否与所述应用的域名相同。
17.如权利要求16所述的系统,所述判断模块被进一步配置为:如果所获取的URL中的域名部分与预定义的应用域名列表中的域名相同,则确定所述原始HTTP请求要访问的域名与所述应用的域名相同。
18.如权利要求16所述的系统,所述判断模块被进一步配置为:如果所获取的URL中的域名部分的模式与预定义的新域名模式不同,则确定所述原始HTTP请求要访问的域名与所述应用的域名相同。
19.如权利要求13-18任一所述的系统,所述修改模块被进一步配置为:通过向所述原始HTTP请求的URL的头部加入随机产生的符号,来将所述原始HTTP请求要访问的域名修改为与所述应用的域名不同的新域名。
20.如权利要求19所述的系统,所述随机产生的符号符合预定义的新域名模式。
21.如权利要求13-20任一所述的系统,还包括记录模块,被配置为记录如下内容:所述新域名、根据所述新域名对所述应用进行最后一次访问的时间以及将所述新域名设置为无效域名的时间期限。
22.如权利要求21所述的系统,所述判断模块被进一步配置为:根据所记录的最后一次访问的时间和所记录的时间期限,判断是否保持当前接收到的新域名有效,如果判断结果为否,将所述当前接收到的新域名视为与所述应用的域名相同的原始域名。
23.如权利要求13-22任一所述的系统,所述修改模块被进一步配置为:对于请求对同一应用的不同实例进行访问的不同的原始HTTP请求,所修改得到的新域名各不相同,其中不同的原始HTTP请求要访问的域名与所述同一应用的域名相同。
24.如权利要求13-23任一所述的系统,所述应用是软件即服务应用。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101709527A CN101997903B (zh) | 2009-08-27 | 2009-08-27 | 用于处理超文本传输协议请求的方法和系统 |
US12/868,891 US8880711B2 (en) | 2009-08-27 | 2010-08-26 | Method and system for processing HTTP requests with multiple application instances |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101709527A CN101997903B (zh) | 2009-08-27 | 2009-08-27 | 用于处理超文本传输协议请求的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101997903A true CN101997903A (zh) | 2011-03-30 |
CN101997903B CN101997903B (zh) | 2013-09-25 |
Family
ID=43781517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101709527A Active CN101997903B (zh) | 2009-08-27 | 2009-08-27 | 用于处理超文本传输协议请求的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8880711B2 (zh) |
CN (1) | CN101997903B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724129A (zh) * | 2012-06-28 | 2012-10-10 | 奇智软件(北京)有限公司 | 用于泛域名的队列调度及访问控制装置及方法 |
CN102739603A (zh) * | 2011-03-31 | 2012-10-17 | 国际商业机器公司 | 单点登录的方法和设备 |
CN102833249A (zh) * | 2012-08-24 | 2012-12-19 | 北京百度网讯科技有限公司 | 移动终端的应用客户端登录网络服务器的方法及系统 |
CN104363309A (zh) * | 2012-06-28 | 2015-02-18 | 北京奇虎科技有限公司 | 泛域名识别、处理装置及方法 |
CN104410712A (zh) * | 2014-12-16 | 2015-03-11 | 国家电网公司 | 应用实例管理方法、用户访问请求处理方法及系统 |
WO2019080673A1 (zh) * | 2017-10-27 | 2019-05-02 | 华为技术有限公司 | 一种域名访问方法及设备 |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009124223A1 (en) | 2008-04-02 | 2009-10-08 | Twilio Inc. | System and method for processing telephony sessions |
US8837465B2 (en) | 2008-04-02 | 2014-09-16 | Twilio, Inc. | System and method for processing telephony sessions |
EP2335402A4 (en) | 2008-10-01 | 2013-04-24 | Twilio Inc | TELEPHONY WEB EVENT SYSTEM AND METHOD |
CA2789942C (en) | 2009-03-02 | 2017-05-23 | Jeffrey Lawson | Method and system for a multitenancy telephone network |
US8509415B2 (en) | 2009-03-02 | 2013-08-13 | Twilio, Inc. | Method and system for a multitenancy telephony network |
US8582737B2 (en) | 2009-10-07 | 2013-11-12 | Twilio, Inc. | System and method for running a multi-module telephony application |
US9210275B2 (en) | 2009-10-07 | 2015-12-08 | Twilio, Inc. | System and method for running a multi-module telephony application |
WO2011091085A1 (en) * | 2010-01-19 | 2011-07-28 | Twilio Inc. | Method and system for preserving telephony session state |
US8416923B2 (en) | 2010-06-23 | 2013-04-09 | Twilio, Inc. | Method for providing clean endpoint addresses |
US9459925B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US20120208495A1 (en) | 2010-06-23 | 2012-08-16 | Twilio, Inc. | System and method for monitoring account usage on a platform |
US9459926B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9590849B2 (en) | 2010-06-23 | 2017-03-07 | Twilio, Inc. | System and method for managing a computing cluster |
US9338064B2 (en) | 2010-06-23 | 2016-05-10 | Twilio, Inc. | System and method for managing a computing cluster |
US8838707B2 (en) | 2010-06-25 | 2014-09-16 | Twilio, Inc. | System and method for enabling real-time eventing |
US8649268B2 (en) | 2011-02-04 | 2014-02-11 | Twilio, Inc. | Method for processing telephony sessions of a network |
US9648006B2 (en) | 2011-05-23 | 2017-05-09 | Twilio, Inc. | System and method for communicating with a client application |
US9398622B2 (en) | 2011-05-23 | 2016-07-19 | Twilio, Inc. | System and method for connecting a communication to a client |
US20140044123A1 (en) | 2011-05-23 | 2014-02-13 | Twilio, Inc. | System and method for real time communicating with a client application |
CN102999375B (zh) * | 2011-09-19 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 防止应用程序运行多个实例的方法、装置及信息处理系统 |
EP2759123B1 (en) | 2011-09-21 | 2018-08-15 | Twilio, Inc. | System and method for authorizing and connecting application developers and users |
US10182147B2 (en) | 2011-09-21 | 2019-01-15 | Twilio Inc. | System and method for determining and communicating presence information |
US9495227B2 (en) | 2012-02-10 | 2016-11-15 | Twilio, Inc. | System and method for managing concurrent events |
US9240941B2 (en) | 2012-05-09 | 2016-01-19 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9602586B2 (en) | 2012-05-09 | 2017-03-21 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US20130304928A1 (en) | 2012-05-09 | 2013-11-14 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US9247062B2 (en) | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
US8737962B2 (en) | 2012-07-24 | 2014-05-27 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US8738051B2 (en) | 2012-07-26 | 2014-05-27 | Twilio, Inc. | Method and system for controlling message routing |
US8938053B2 (en) | 2012-10-15 | 2015-01-20 | Twilio, Inc. | System and method for triggering on platform usage |
US8948356B2 (en) | 2012-10-15 | 2015-02-03 | Twilio, Inc. | System and method for routing communications |
US9253254B2 (en) | 2013-01-14 | 2016-02-02 | Twilio, Inc. | System and method for offering a multi-partner delegated platform |
US9282124B2 (en) | 2013-03-14 | 2016-03-08 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9001666B2 (en) | 2013-03-15 | 2015-04-07 | Twilio, Inc. | System and method for improving routing in a distributed communication platform |
US9160696B2 (en) | 2013-06-19 | 2015-10-13 | Twilio, Inc. | System for transforming media resource into destination device compatible messaging format |
US9338280B2 (en) | 2013-06-19 | 2016-05-10 | Twilio, Inc. | System and method for managing telephony endpoint inventory |
US9225840B2 (en) | 2013-06-19 | 2015-12-29 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9483328B2 (en) | 2013-07-19 | 2016-11-01 | Twilio, Inc. | System and method for delivering application content |
US9137127B2 (en) | 2013-09-17 | 2015-09-15 | Twilio, Inc. | System and method for providing communication platform metadata |
US9274858B2 (en) | 2013-09-17 | 2016-03-01 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US9338018B2 (en) | 2013-09-17 | 2016-05-10 | Twilio, Inc. | System and method for pricing communication of a telecommunication platform |
US9325624B2 (en) | 2013-11-12 | 2016-04-26 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US9553799B2 (en) | 2013-11-12 | 2017-01-24 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US9344573B2 (en) | 2014-03-14 | 2016-05-17 | Twilio, Inc. | System and method for a work distribution service |
US9226217B2 (en) | 2014-04-17 | 2015-12-29 | Twilio, Inc. | System and method for enabling multi-modal communication |
US9251371B2 (en) | 2014-07-07 | 2016-02-02 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US9516101B2 (en) | 2014-07-07 | 2016-12-06 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US9246694B1 (en) | 2014-07-07 | 2016-01-26 | Twilio, Inc. | System and method for managing conferencing in a distributed communication network |
US9774687B2 (en) | 2014-07-07 | 2017-09-26 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9363301B2 (en) | 2014-10-21 | 2016-06-07 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US9477975B2 (en) | 2015-02-03 | 2016-10-25 | Twilio, Inc. | System and method for a media intelligence platform |
US9998477B2 (en) | 2015-03-31 | 2018-06-12 | Comcast Cable Communications, Llc | Digital content access control |
US10419891B2 (en) | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
US9948703B2 (en) | 2015-05-14 | 2018-04-17 | Twilio, Inc. | System and method for signaling through data storage |
GB2546800B (en) * | 2016-01-29 | 2020-08-05 | Tectonic Interactive Ltd | System and method for managing communication sessions between clients and a server |
US10659349B2 (en) | 2016-02-04 | 2020-05-19 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US10686902B2 (en) | 2016-05-23 | 2020-06-16 | Twilio Inc. | System and method for a multi-channel notification service |
US10063713B2 (en) | 2016-05-23 | 2018-08-28 | Twilio Inc. | System and method for programmatic device connectivity |
US10992777B2 (en) * | 2019-06-19 | 2021-04-27 | Netscout Systems, Inc | System and method for identifying OTT applications and services |
US11514131B2 (en) * | 2020-09-23 | 2022-11-29 | Td Ameritrade Ip Company, Inc. | Facilitating inter-system data transfer with serialized data objects |
CN112422429B (zh) * | 2020-11-18 | 2022-04-22 | 贝壳技术有限公司 | 数据请求处理方法和装置、存储介质和电子设备 |
CN112954087A (zh) * | 2021-02-20 | 2021-06-11 | 每日互动股份有限公司 | SaaS服务的域名连接方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193699A1 (en) * | 2002-12-02 | 2004-09-30 | Juergen Heymann | Session-return enabling stateful web applications |
CN1677277A (zh) * | 2004-01-27 | 2005-10-05 | 株式会社理光 | 服务提供方法、服务提供商设备、信息处理方法和设备 |
CN1703701A (zh) * | 2002-10-04 | 2005-11-30 | 国际商业机器公司 | 用于管理门户服务器中的门户构件集合的方法和装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU4168700A (en) * | 1999-02-26 | 2000-09-14 | Henry Haugland | Mass generation of individual virtual servers, virtual web sites and virtual webobjects |
US6748420B1 (en) * | 1999-11-23 | 2004-06-08 | Cisco Technology, Inc. | Methods and apparatus for providing shared access to an application |
US6976090B2 (en) * | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
US7562153B2 (en) * | 2000-05-12 | 2009-07-14 | AT&T Intellectual Property II, L. P. | Method and apparatus for content distribution network brokering and peering |
US20020010795A1 (en) * | 2000-06-09 | 2002-01-24 | Brown Charles P. | Method and system for protecting domain names |
US7149783B2 (en) * | 2001-04-12 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Delivery of sequential information |
US6983479B1 (en) * | 2001-06-08 | 2006-01-03 | Tarantella, Inc. | Dynamic content activation by locating, coordinating and presenting content publishing resources such that content publisher can create or change content |
US7437710B2 (en) * | 2001-07-02 | 2008-10-14 | Bea Systems, Inc. | Annotation based development platform for stateful web services |
US20030069906A1 (en) * | 2001-07-27 | 2003-04-10 | Cichowlas Bruce William | Method and system for multi-page web applications with central control |
US20030065739A1 (en) * | 2001-10-01 | 2003-04-03 | J. Mitchell Shnier | Methods for independently generating a reference to desired information available from a remote source |
JP2003208392A (ja) * | 2002-01-11 | 2003-07-25 | Fujitsu Ltd | ファイル送信装置、ウェブサーバ、ファイル送信システム、ファイル送信プログラム、およびウェブサーバプログラム |
US7694128B2 (en) * | 2002-03-08 | 2010-04-06 | Mcafee, Inc. | Systems and methods for secure communication delivery |
US7284040B2 (en) * | 2002-09-13 | 2007-10-16 | Canon Kabushiki Kaisha | Information processing apparatus for providing image to communication terminal and control method therefor |
US20050080927A1 (en) * | 2003-10-09 | 2005-04-14 | International Business Machines Corporation | Method and apparatus for managing IP addresses and name mappings for wireless clients |
US7886032B1 (en) * | 2003-12-23 | 2011-02-08 | Google Inc. | Content retrieval from sites that use session identifiers |
US20060155563A1 (en) * | 2005-01-12 | 2006-07-13 | Banerjee Dwip N | Method, system and article for advance lease negotiation in DHCP |
US7792994B1 (en) * | 2005-06-15 | 2010-09-07 | Symantec Corporation | Correlating network DNS data to filter content |
EP1960909B1 (en) * | 2005-12-14 | 2011-09-28 | International Business Machines Corporation | A method, system, and computer program product for efficiently serializing navigational state in a portal |
US8341226B2 (en) * | 2006-03-15 | 2012-12-25 | Intel Corporation | Techniques to control electronic mail delivery |
US7599920B1 (en) * | 2006-10-12 | 2009-10-06 | Google Inc. | System and method for enabling website owners to manage crawl rate in a website indexing system |
US7991830B2 (en) * | 2007-02-28 | 2011-08-02 | Red Hat, Inc. | Multiple sessions between a server and multiple browser instances of a browser |
US8392837B2 (en) * | 2007-02-28 | 2013-03-05 | Red Hat, Inc. | Browser supporting multiple users |
US8527631B1 (en) * | 2008-06-26 | 2013-09-03 | Trend Micro, Inc. | Web site reputation service using proxy auto-configuration |
US8316124B1 (en) * | 2008-09-29 | 2012-11-20 | Amazon Technologies, Inc. | Managing network data display |
US8347394B1 (en) * | 2009-07-15 | 2013-01-01 | Trend Micro, Inc. | Detection of downloaded malware using DNS information |
US20110289138A1 (en) * | 2010-05-20 | 2011-11-24 | Bhavin Turakhia | Method, machine and computer program product for sharing an application session across a plurality of domain names |
US8438240B2 (en) * | 2011-09-27 | 2013-05-07 | Cloudflare, Inc. | Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service |
-
2009
- 2009-08-27 CN CN2009101709527A patent/CN101997903B/zh active Active
-
2010
- 2010-08-26 US US12/868,891 patent/US8880711B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703701A (zh) * | 2002-10-04 | 2005-11-30 | 国际商业机器公司 | 用于管理门户服务器中的门户构件集合的方法和装置 |
US20040193699A1 (en) * | 2002-12-02 | 2004-09-30 | Juergen Heymann | Session-return enabling stateful web applications |
CN1677277A (zh) * | 2004-01-27 | 2005-10-05 | 株式会社理光 | 服务提供方法、服务提供商设备、信息处理方法和设备 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739603B (zh) * | 2011-03-31 | 2015-10-21 | 国际商业机器公司 | 单点登录的方法和设备 |
US8825855B2 (en) | 2011-03-31 | 2014-09-02 | International Business Machines Corporation | Non-intrusive single sign-on mechanism in cloud services |
CN102739603A (zh) * | 2011-03-31 | 2012-10-17 | 国际商业机器公司 | 单点登录的方法和设备 |
CN102724129A (zh) * | 2012-06-28 | 2012-10-10 | 奇智软件(北京)有限公司 | 用于泛域名的队列调度及访问控制装置及方法 |
CN104363309A (zh) * | 2012-06-28 | 2015-02-18 | 北京奇虎科技有限公司 | 泛域名识别、处理装置及方法 |
CN102724129B (zh) * | 2012-06-28 | 2015-11-25 | 北京奇虎科技有限公司 | 用于泛域名的队列调度及访问控制装置及方法 |
CN104363309B (zh) * | 2012-06-28 | 2017-10-24 | 北京奇虎科技有限公司 | 泛域名识别、处理装置及方法 |
CN102833249A (zh) * | 2012-08-24 | 2012-12-19 | 北京百度网讯科技有限公司 | 移动终端的应用客户端登录网络服务器的方法及系统 |
CN102833249B (zh) * | 2012-08-24 | 2018-12-14 | 北京百度网讯科技有限公司 | 移动终端的应用客户端登录网络服务器的方法及系统 |
CN104410712A (zh) * | 2014-12-16 | 2015-03-11 | 国家电网公司 | 应用实例管理方法、用户访问请求处理方法及系统 |
CN104410712B (zh) * | 2014-12-16 | 2018-09-11 | 国家电网公司 | 应用实例管理方法、用户访问请求处理方法及系统 |
WO2019080673A1 (zh) * | 2017-10-27 | 2019-05-02 | 华为技术有限公司 | 一种域名访问方法及设备 |
US11095606B2 (en) | 2017-10-27 | 2021-08-17 | Huawei Technologies Co., Ltd. | Domain name access method and device |
US11502990B2 (en) | 2017-10-27 | 2022-11-15 | Huawei Technologies Co., Ltd. | Domain name access method and device |
Also Published As
Publication number | Publication date |
---|---|
CN101997903B (zh) | 2013-09-25 |
US20110078278A1 (en) | 2011-03-31 |
US8880711B2 (en) | 2014-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101997903B (zh) | 用于处理超文本传输协议请求的方法和系统 | |
US7873748B2 (en) | Synchronization of locally and remotely stored browser data | |
US8219687B2 (en) | Implementing browser based hypertext transfer protocol session storage | |
KR101622815B1 (ko) | 소프트웨어 애플리케이션의 최종사용자에 대한 지원제공 방법 | |
AU2008200613B2 (en) | Tracking web server | |
CN104426862B (zh) | 实现跨域请求登录的方法、系统及浏览器 | |
CN102480490A (zh) | 一种用于防止csrf攻击的方法和设备 | |
AU2016349477A1 (en) | Systems and methods for controlling sign-on to web applications | |
US8019884B2 (en) | Proxy content for submitting web service data in the user's security context | |
CN102201031A (zh) | 基于请求的服务器健康建模 | |
US20130132857A1 (en) | Personalized website theme | |
CN110855766A (zh) | 一种访问Web资源的方法、装置及代理服务器 | |
US8359352B2 (en) | Automated content and bookmark distribution | |
CN103888540B (zh) | 登录信息同步方法、被同步和同步网络服务器 | |
US10614417B2 (en) | System and method for electronic lead verification | |
CN105871947A (zh) | 跨域请求数据的方法及装置 | |
US20080228874A1 (en) | Method and Apparatus for Collocating Application Monitoring Reports with Web Applications | |
US9369544B1 (en) | Testing compatibility with web services | |
CN102946396A (zh) | 用户代理装置、宿主网站服务器和用户认证方法 | |
JP5732732B2 (ja) | 認証サーバ装置、プログラム、および方法 | |
US11178239B2 (en) | Website creation from location and communication data | |
US20210326403A1 (en) | Website creation from mobile device data | |
CN113824696B (zh) | portal认证方法及装置 | |
JP3842696B2 (ja) | 画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラム | |
JP4451339B2 (ja) | 負荷分散システム、および負荷分散方法 |
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 |