CN108881501B - 一种实现网页应用域名跳转的方法及装置 - Google Patents

一种实现网页应用域名跳转的方法及装置 Download PDF

Info

Publication number
CN108881501B
CN108881501B CN201710333391.2A CN201710333391A CN108881501B CN 108881501 B CN108881501 B CN 108881501B CN 201710333391 A CN201710333391 A CN 201710333391A CN 108881501 B CN108881501 B CN 108881501B
Authority
CN
China
Prior art keywords
domain name
web application
regionalized
uniform resource
resource locator
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
Application number
CN201710333391.2A
Other languages
English (en)
Other versions
CN108881501A (zh
Inventor
刘琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710333391.2A priority Critical patent/CN108881501B/zh
Publication of CN108881501A publication Critical patent/CN108881501A/zh
Application granted granted Critical
Publication of CN108881501B publication Critical patent/CN108881501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文公开了一种实现网页应用域名跳转的方法及装置;上述方法包括:获取客户端访问的Web应用的URL,并解析得到第一域名;根据该URL和该Web应用的区域化配置信息,确定第二域名;根据第一域名和第二域名的比较结果,确定是否进行域名跳转。本文公开的方案能够兼容单中心和多中心部署形式下对Web应用的访问方式,从而实现Web应用在单中心部署和多中心部署之间平滑过渡。

Description

一种实现网页应用域名跳转的方法及装置
技术领域
本发明涉及网络技术领域,尤其涉及一种实现网页(Web)应用域名跳转的方法及装置。
背景技术
网页(Web)应用是可以通过网页访问的应用程序。用户可以通过浏览器访问Web应用。目前,Web应用根据部署形式可以分为单中心部署(即部署在一个区域(Region))和多中心部署(即部署在多个区域)。其中,单中心部署的Web应用仅对应一个域名;在采用多中心部署Web应用时,在每个区域部署的子应用都是独立的中心应用,可以拥有不同的域名。因此,当Web应用从单中心部署迁移到多中心部署,或者,从多中心部署迁移到单中心部署时,如何兼容单中心部署和多中心部署形式下对Web应用的访问方式,以实现Web应用在单中心部署和多中心部署之间平滑过渡是需要解决的问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种实现Web应用域名跳转的方法及装置,能够兼容单中心和多中心部署形式下对Web应用的访问方式,以实现Web应用在单中心部署和多中心部署之间平滑过渡。
本申请实施例提供一种实现Web应用域名跳转的方法,包括:
获取客户端访问的Web应用的统一资源定位符(URL),并解析得到第一域名;
根据所述URL以及所述Web应用的区域化配置信息,确定第二域名;
根据所述第一域名和所述第二域名的比较结果,确定是否进行域名跳转。
在示例性实施方式中,所述Web应用的区域化配置信息,可以包括以下至少之一:所述Web应用的基本域名、所述Web应用支持的中心化状态、所述Web应用的区域列表、所述区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
在示例性实施方式中,所述根据所述URL以及所述Web应用的区域化配置信息,确定第二域名,可以包括:
若所述Web应用支持单中心化,则确定所述Web应用的基本域名为第二域名;
若所述Web应用支持多中心化,且所述URL的第一域名能够匹配到所述Web应用的区域化配置信息中已启用的区域化域名,则确定所述匹配到的区域化域名为第二域名;
若所述Web应用支持多中心化,且所述URL的URL参数携带区域信息,则根据所述URL参数携带的区域信息,从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名;
若所述Web应用支持多中心化,所述URL的第一域名没有匹配到所述Web应用的区域化配置信息中已启用的区域化域名,且所述URL的URL参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名。
在示例性实施方式中,所述从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名,可以包括:
在所述Web应用的区域化配置信息中,若所述区域信息对应的区域化域名已启用,则确认所述区域化域名为第二域名;
若所述区域信息对应的区域化域名没有启用,则确认所述Web应用的基本域名为第二域名。
在示例性实施方式中,所述URL参数可以包括以下至少之一:哈希(hash)参数、路径(path)参数。
在示例性实施方式中,所述确定第二域名之后,上述方法还可以包括:在所述客户端缓存中记录所述区域信息。
在示例性实施方式中,所述根据所述第一域名和所述第二域名的比较结果,确定是否进行域名跳转,可以包括:
若所述第一域名和所述第二域名相同,则确定不进行域名跳转;
若所述第一域名和所述第二域名不同,则确定根据所述第二域名进行跳转。
本申请实施例还提供一种实现Web应用域名跳转的装置,包括:
第一域名确定模块,用于获取客户端访问的Web应用的URL,并解析得到第一域名;
第二域名确定模块,用于根据所述URL以及所述Web应用的区域化配置信息,确定第二域名;
跳转控制模块,用于根据所述第一域名和所述第二域名的比较结果,确定是否进行域名跳转。
在示例性实施方式中,所述Web应用的区域化配置信息,可以包括以下至少之一:所述Web应用的基本域名、所述Web应用支持的中心化状态、所述Web应用的区域列表、所述区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
在示例性实施方式中,所述第二域名确定模块可以用于通过以下方式根据所述URL以及所述Web应用的区域化配置信息,确定第二域名:
若所述Web应用支持单中心化,则确定所述Web应用的基本域名为第二域名;
若所述Web应用支持多中心化,且所述URL的第一域名能够匹配到所述Web应用的区域化配置信息中已启用的区域化域名,则确定所述匹配到的区域化域名为第二域名;
若所述Web应用支持多中心化,且所述URL的URL参数携带区域信息,则根据所述URL参数携带的区域信息,从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名;
若所述Web应用支持多中心化,所述URL的第一域名没有匹配到所述Web应用的区域化配置信息中已启用的区域化域名,且所述URL的URL参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名。
在示例性实施方式中,所述第二域名确定模块可以用于通过以下方式从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名:
在所述Web应用的区域化配置信息中,若所述区域信息对应的区域化域名已启用,则确认所述区域化域名为第二域名;
若所述区域信息对应的区域化域名没有启用,则确认所述Web应用的基本域名为第二域名。
在示例性实施方式中,上述装置还可以包括:记录模块,用于在所述客户端缓存中记录所述区域信息。
在示例性实施方式中,所述跳转控制模块可以用于通过以下方式根据所述第一域名和所述第二域名的比较结果,确定是否进行域名跳转:
若所述第一域名和所述第二域名相同,则确定不进行域名跳转;
若所述第一域名和所述第二域名不同,则确定根据所述第二域名进行跳转。
本申请实施例还提供一种装置,包括:存储器以及处理器;其中,所述存储器用于存储用于实现Web应用域名跳转的程序;该用于实现Web应用域名跳转的程序在被所述处理器读取执行时,执行以下操作:
获取客户端访问的Web应用的URL,并解析得到第一域名;
根据所述URL以及所述Web应用的区域化配置信息,确定第二域名;
根据所述第一域名和所述第二域名的比较结果,确定是否进行域名跳转。
在示例性实施方式中,所述Web应用的区域化配置信息,可以包括以下至少之一:所述Web应用的基本域名、所述Web应用支持的中心化状态、所述Web应用的区域列表、所述区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
在示例性实施方式中,所述根据所述URL以及所述Web应用的区域化配置信息,确定第二域名,可以包括:
若所述Web应用支持单中心化,则确定所述Web应用的基本域名为第二域名;
若所述Web应用支持多中心化,且所述URL的第一域名能够匹配到所述Web应用的区域化配置信息中已启用的区域化域名,则确定所述匹配到的区域化域名为第二域名;
若所述Web应用支持多中心化,且所述URL的URL参数携带区域信息,则根据所述URL参数携带的区域信息,从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名;
若所述Web应用支持多中心化,所述URL的第一域名没有匹配到所述Web应用的区域化配置信息中已启用的区域化域名,且所述URL的URL参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从所述Web应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名。
本申请实施例还提供一种计算机可读介质,存储有多个指令,当所述多个指令被一个或多个处理器执行时实现上述实现Web应用域名跳转的方法。
本申请实施例中,通过获取客户端访问的Web应用的URL,并解析得到第一域名,根据URL和Web应用的区域化配置信息,确定第二域名,根据第一域名和第二域名的比较结果,确定是否进行域名跳转。如此,本申请实施例支持Web应用在单中心部署与多中心部署之间平滑过渡,并且兼容单中心和多中心部署形式下对Web应用的访问方式。而且,在Web应用进行单中心和多中心之间的部署迁移过程中不会影响现有业务,从而确保了用户体验。
当然,实施本申请的任一产品不一定需要同时达到以上所有优点。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1为本申请实施例的一种实施环境的示意图;
图2为本申请实施例提供的实现Web应用域名跳转的方法的流程图;
图3为本申请实施例的一个实例示意图;
图4为本申请实施例提供的实现Web应用域名跳转的装置的示意图。
具体实施方式
以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
一些实施方式中,执行实现Web应用域名跳转的方法的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1为本申请实施例的一种实施环境的结构示意图。如图1所示,本实施例的实施环境中包括终端11和应用服务器12。其中,终端11可以是诸如手机、平板电脑、台式电脑和笔记本之类的包含客户端110(比如,浏览器)的终端。终端11可以通过有线网络或无线网络与应用服务器12连接,从而实现终端11向应用服务器12发送请求,并接收应用服务器12返回的信息。应用服务器12可以是通过有线网络或无线网络与终端11连接的一个或多个高性能计算机或云计算中心。
本实施例中,终端11上的客户端110(比如,浏览器)接收用户输入或选择的统一资源定位符(URL,Uniform Resource Locator)后,可以从域名解析服务器查询对应的应用服务器12的网络协议(IP,Internet Protocol)地址,并根据域名解析服务器返回的应用服务器12的IP地址向该应用服务器12发送访问请求,应用服务器12接收到客户端110的访问请求后,向客户端110返回所请求的应用页面和应用代码;客户端110可以显示应用服务器12返回的应用页面,并通过运行应用服务器12返回的应用代码来实施本实施例提供的实现Web应用域名跳转的方法。
本实施例提供的实现Web应用域名跳转的方法用于支持Web应用在多中心部署和单中心部署之间平滑过渡。其中,在单中心部署的Web应用中,使用URL参数(比如,hash参数或path参数)进行不同区域的区分。比如,针对基本域名为xxx.console.aliyun.com的Web应用,该Web应用的杭州地域访问地址为:xxx.console.aliyun.com/#/regionId=hangzhou;该Web应用的深圳地域访问地址为:xxx.console.aliyun.com/#/regionId=shenzhen。针对该Web应用若需要访问不同区域,需要变更URL参数中的regionId信息。在多中心部署的Web应用中,通常采用不同域名的方式来表示不同区域的访问地址,比如,将上述单中心部署的Web应用扩展为多中心部署时,杭州地域的访问地址可以为:xxx-hangzhou.console.aliyun.com,深圳地域的访问地址可以为:xxx-shenzhen.console.aliyun.com。由上例可见,Web应用从单中心部署变为多中心部署时,由于一个域名变成了多个域名,存在与单中心部署时通过URL参数区分不同区域的方式产生冲突的问题。本申请实施例通过兼容单中心和多中心部署形式下对Web应用的访问方式,进而支持Web应用在单中心部署和多中心部署之间平滑过渡。
图2为本申请实施例提供的实现Web应用域名跳转的方法的流程图。本实施例的实现Web应用域名跳转方法在客户端(比如,浏览器)实施。如图2所示,本实施例的方法包括以下步骤:
步骤201:获取客户端访问的Web应用的URL,并解析得到第一域名;
步骤202:根据URL以及Web应用的区域化配置信息,确定第二域名;
步骤203:根据第一域名和第二域名的比较结果,确定是否进行域名跳转。
其中,第一域名是从获取到的访问URL解析得到的,第二域名是根据获取到的URL和Web应用的区域化配置信息确定的。Web应用的区域化配置信息包括在应用服务器返回的应用代码中。
一些实现方式中,Web应用的区域化配置信息可以包括以下至少之一:Web应用的基本域名、Web应用支持的中心化状态、Web应用的区域列表、该区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
其中,在一个Web应用采用单中心化部署时,该Web应用的区域化配置信息可以包括:该Web应用的基本域名、该Web应用支持的中心化状态(此时为单中心化)。在一个Web应用采用多中心化部署时,该Web应用的区域化配置信息可以包括:该Web应用支持的中心化状态(此时为多中心化)、该Web应用的区域列表、该区域列表中每个区域的区域化启用状态、每个区域的区域化域名。其中,区域列表可以用于记录Web应用对应的所有区域的区域标识(比如,编号或名称)。每个区域的区域化启用状态用于指示该区域是否配置为一个中心(即是否启用该区域的区域化域名);每个区域的区域化域名用于指示Web应用启用多中心化部署时该区域的域名。
需要说明的是,针对一个区域,在该区域的区域化启用状态指示该区域没有被配置为一个中心时,该区域的区域化域名处于未被启用状态,只有在该区域的区域化启用状态指示该区域被配置为一个中心时,该区域的区域化域名才处于启用状态。在一些实现方式中,针对一个区域,当该区域的区域化启用状态指示该区域没有被配置为一个中心时,在区域化配置信息中可以不包括该区域的区域化域名。然而,本申请对于一个Web应用的区域化配置信息的内容并不限定。在实际应用中,可以根据Web应用的实际部署情况,设置该Web应用的区域化配置信息。
一些实现方式中,步骤202可以包括:
若Web应用支持单中心化,则确定Web应用的基本域名为第二域名;
若Web应用支持多中心化,且步骤201获取的URL的第一域名能够匹配到该Web应用的区域化配置信息中已启用的区域化域名,则确定该匹配到的区域化域名为第二域名;
若Web应用支持多中心化,且步骤201获取的URL中的URL参数携带区域信息,则根据URL参数携带的区域信息,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名;
若Web应用支持多中心化,步骤201获取的URL的第一域名没有匹配到该Web应用的区域化配置信息中已启用的区域化域名,且该URL的URL参数也没有携带区域信息,则根据客户端缓存中记录的区域信息,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名。
其中,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名,可以包括:
在该Web应用的区域化配置信息中,若该区域信息对应的区域化域名已启用,则确认该区域化域名为第二域名;
若该区域信息对应的区域化域名没有启用,则确认该Web应用的基本域名为第二域名。
在本实现方式中,在Web应用支持单中心化时,Web应用仅对应一个域名(即,基本域名),则可以确定第二域名即为基本域名。在Web应用支持多中心化时,可以先将URL的第一域名与该Web应用的区域化配置信息中已启用的区域化域名进行匹配;若没有匹配到,识别该URL的URL参数携带的区域信息,并从该Web应用的区域化配置信息中获取该区域信息对应的域名;若该URL的URL参数没有携带区域信息,则获取客户端缓存中记录的区域信息,并从该Web应用的区域化配置信息中获取该区域信息对应的域名(比如,该区域信息对应的已启用的区域化域名,或者,该Web应用的基本域名)。
其中,URL参数可以包括以下至少之一:hash参数、path参数。其中,hash参数指URL中的#标识符后的内容;比如,在以下URL中:www.aliyun.com/#/regionId=cn-hangzhou,hash参数为:regionId=cn-hangzhou,即hash参数携带区域标识,该区域标识指示的区域为中国杭州。path参数指一个URL的路径部分,也称pathname;比如,在以下URL中:https://ecs.console.aliyun.com/detail.html#regionId=cn-hangzhou,域名为:ecs.console.aliyun.com;path参数为:/detail.html;hash参数为:regionId=cn-hangzhou。
一些实现方式中,在步骤202之后,本实施例的方法还可以包括:在客户端缓存中记录区域信息。其中,当客户端为浏览器时,客户端缓存可以为Cookie。其中,Cookie是保存在浏览器上的小文本文件,可以包含有关用户的信息。比如,在浏览器的Cookie记录第二域名对应的区域标识。其中,在确定第二域名的过程中,可以根据确定的区域化域名得到对应的区域信息,或者,从URL参数获取区域信息,或者,根据之前的记录得到区域信息;在得到区域信息之后,可以用该区域信息(比如,区域编号或名称)更新Cookie中之前存储的区域信息,以备后续处理该Web应用域名跳转时使用,或者用于在处理其他Web应用域名跳转时使用。
一些实现方式中,步骤203可以包括:
若第一域名和第二域名相同,则确定不进行域名跳转;
若第一域名和第二域名不同,则确定根据第二域名进行跳转。
其中,若第一域名和第二域名不同时,可以根据步骤201获取的URL中的URL参数以及第二域名确定需要跳转到的URL。比如,步骤201获取的URL为:ecs.console.aliyun.com?query=instance1,步骤202确定的第二域名为:ecs-cn-hangzhou.console.aliyun.com,则确定需要跳转到的URL为:ecs-cn-hangzhou.console.aliyun.com?query=instance1。
在确定需要跳转到的URL之后,客户端可以根据该URL从域名解析服务器查询对应的应用服务器的IP地址,并根据域名解析服务器返回的应用服务器的IP地址向该应用服务器发送访问请求,应用服务器接收到客户端的访问请求后返回应用页面和应用代码,其中,针对同一个Web应用,此时返回的应用代码和客户端之前收到的应用代码是相同的,客户端可以显示该应用服务器返回的应用页面,并通过执行该应用代码可以确定不再进行域名跳转。
下面通过一个实例对本申请的方案进行说明。
在本实例中,以一个云服务器(ecs,Elastic Compute Service)应用为例进行说明。其中,该ecs应用的区域化配置信息可以包括:基本域名、支持的中心化状态、区域列表、该区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
其中,区域列表可以采用一个数组regionList进行存储,比如,regionList为:[{regionId:“cn-hangzhou”},{regionId:“cn-shenzhen”},{regionId:“ap-northeast-1”},{regionId:“ap-southeast-1”}],其中,regionId表示区域标识,在本例中,regionId可以包括以下四种取值:ap-northeast-1(可以指日本)、ap-southeast-1(可以指新加坡)、cn-shenzhen(指中国深圳)、cn-hanghzou(指中国杭州)。
其中,该ecs应用的区域化配置信息(regionSetting)可以配置为:
Figure BDA0001293153030000111
Figure BDA0001293153030000121
其中,"regions"部分记录该ecs应用的各个区域是否启用区域化域名,以及对应的区域化域名。isOpen是一个开放的开关位,用于指示一个区域的区域化启用状态,若"isOpen"为true,则表示一个区域启用区域化域名,否则表示该区域没有启用区域化域名,此时,该区域对应的域名可以为基本域名。
需要说明的是,若该ecs应用采用单中心部署,则"isRegionalization"为false;此时,"regions"部分记录的各个区域的区域化域名均处于未启用状态。
如图3所示,在本实例中,浏览器访问esc应用,比如,用户在浏览器输入访问esc应用的URL,浏览器向对应的应用服务器发送访问请求,应用服务器向浏览器返回应用页面和应用代码,在浏览器中运行应用服务器返回的应用代码以执行以下步骤:
步骤301、通过浏览器提供的工具方法获取浏览器访问的URL,解析得到域名A;
步骤302、判断是否从该esc应用的regionSetting中找到匹配的已启用的区域化域名;
需要说明的是,在regionSetting查找匹配的区域化域名时,只从"regions"中"isOpen"为true对应的区域化域名中进行查找(即从已启用的区域化域名中进行匹配);
步骤303、若找到匹配的已启用的区域化域名,则确定该区域化域名对应的regionId信息;
步骤304、若没找到匹配的已启用的区域化域名,则判断步骤301获取的URL是否携带hash参数,hash参数是否携带regionId;
步骤305、若该URL的hash参数携带regionId,则从hash参数获取regionId信息;
步骤306、若URL没有携带hash参数,或者hash参数没有携带regionId,则从浏览器的Cookies中获取最近记录的regionId信息;
通过步骤303、步骤305或者步骤306,均可以得到regionId信息;之后,在步骤307,从regionSetting获取该regionId信息对应的域名B;在步骤308,在Cookies记录该regionId信息,比如,用该regionId信息更新之前记录的regionId信息。其中,在步骤307中,若根据regionId信息无法得到对应的区域化域名,则获取该esc应用的基本域名。
需要说明的是,本申请对于步骤307和步骤308的先后顺序并不限定,图3中以步骤307先于步骤308执行为例。在其他实现方式中,步骤308可以先于步骤307执行,或者,同时执行。
步骤309、判断域名A和域名B是否相同;
若域名A和域名B相同,则无需进行域名挑战,浏览器保持在当前页面;若域名A和域名B不相同,则跳转到域名B对应的URL(如步骤310)。需要说明的是,若之前获取的URL携带URL参数,则域名B对应的URL包括域名B及URL参数。
下面基于本实例举例说明多个示例。
在示例一中,步骤301获取的esc应用的URL为:ecs.console.aliyun.com?query=instance1,则得到域名A为:ecs.console.aliyun.com;根据上述regionSetting可知,域名A没有匹配到已启用的区域化域名,URL也没有携带regionId,因此,可以从浏览器Cookies获取最近记录的regionId信息,比如,Cookies记录的regionId为cn-hangzhou,则根据regionSetting可以得知cn-hangzhou已启用区域化域名,据此,可以确定域名B为:ecs-cn-hangzhou.console.aliyun.com。在本示例中,域名A和域名B不同,可以确定最终的跳转URL为:ecs-cn-hangzhou.console.aliyun.com?query=instance1。
在示例二中,步骤301获取的ecs应用的URL为:ecs.console.aliyun.com?query=instance1,则得到域名A为:ecs.console.aliyun.com;根据上述regionSetting可知,域名A没有匹配到已启用的区域化域名,URL也没有携带regionId,因此,可以从浏览器Cookies获取最近记录的regionId信息,比如,Cookies记录的regionId为ap-southeast-1,则根据regionSetting可以得知ap-southeast-1未启用区域化域名,据此,可以确定域名B为ecs.console.aliyun.com;本示例中,域名B与域名A相同,不进行域名跳转。
在示例三中,步骤301获取的URL为:ecs-ap-northeast-1.console.aliyun.com,则得到域名A为:ecs-ap-northeast-1.console.aliyun.com;根据上述regionSetting可知,域名A可以匹配到"ap-northeast-1"已启用的区域化域名,据此,可以确定域名B为"ap-northeast-1"已启用的区域化域名,即:ecs-ap-northeast-1.console.aliyun.com。在本示例中,域名B与域名A相同,不进行域名跳转。
在示例四中,步骤301获取ecs应用的URL为:ecs.console.aliyun.com/#/regionId=cn-hangzhou,则得到域名A为:ecs.console.aliyun.com;根据上述regionSetting可知,域名A没有匹配到已启用的区域化域名,但是URL携带regionId,且regionId=cn-hangzhou;此时,根据regionSetting可以得知cn-hangzhou已启用区域化域名,据此,可以确定域名B为:ecs-cn-hangzhou.console.aliyun.com。本示例中,域名A和域名B不同,可以确定最终的跳转URL为:ecs-cn-hangzhou.console.aliyun.com/#/regionId=cn-hangzhou,或者,ecs-cn-hangzhou.console.aliyun.com。
本申请实施例还提供一种实现Web应用域名跳转的装置,如图4所示,本实施例提供的装置包括:
第一域名确定模块401,用于获取客户端访问的Web应用的URL,并解析得到第一域名;
第二域名确定模块402,用于根据URL以及Web应用的区域化配置信息,确定第二域名;
跳转控制模块403,用于根据第一域名和第二域名的比较结果,确定是否进行域名跳转。
本实施例提供的装置可以应用于客户端(比如,浏览器),关于本实施例的装置的实施环境可以参照图1所述,故于此不再赘述。
其中,Web应用的区域化配置信息可以包括以下至少之一:Web应用的基本域名、Web应用支持的中心化状态、Web应用的区域列表、该区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
其中,第二域名确定模块402可以用于通过以下方式根据URL以及Web应用的区域化配置信息,确定第二域名:
若Web应用支持单中心化,则确定Web应用的基本域名为第二域名;
若Web应用支持多中心化,且第一域名确定模块401获取的URL的第一域名能够匹配到该Web应用的区域化配置信息中已启用的区域化域名,则确定该匹配到的区域化域名为第二域名;
若Web应用支持多中心化,且第一域名确定模块401获取的URL中的URL参数携带区域信息,则根据URL参数携带的区域信息,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名;
若Web应用支持多中心化,第一域名确定模块401获取的URL的第一域名没有匹配到该Web应用的区域化配置信息中已启用的区域化域名,且该URL的URL参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名。
其中,第二域名确定模块402可以用于通过以下方式从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名:
在该Web应用的区域化配置信息中,若该区域信息对应的区域化域名已启用,则确认该区域化域名为第二域名;
若该区域信息对应的区域化域名没有启用,则确认该Web应用的基本域名为第二域名。
其中,本实施例提供的装置还可以包括:记录模块404,用于在客户端缓存中记录区域信息。
其中,跳转控制模块403可以用于通过以下方式根据第一域名和第二域名的比较结果,确定是否进行域名跳转:
若第一域名和第二域名相同,则确定不进行域名跳转;
若第一域名和第二域名不同,则确定根据第二域名进行跳转。
关于本实施例的相关说明可以参照图2所示实施例的描述,故于此不再赘述。
本申请实施例还提供一种装置,包括:存储器以及处理器;其中,存储器用于存储用于实现Web应用域名跳转的程序;该用于实现Web应用域名跳转的程序在被处理器读取执行时,执行以下操作:
获取客户端访问的Web应用的URL,并解析得到第一域名;根据URL以及Web应用的区域化配置信息,确定第二域名;根据第一域名和第二域名的比较结果,确定是否进行域名跳转。
其中,Web应用的区域化配置信息可以包括以下至少之一:Web应用的基本域名、Web应用支持的中心化状态、Web应用的区域列表、该区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
其中,根据URL以及Web应用的区域化配置信息,确定第二域名,可以包括:
若Web应用支持单中心化,则确定Web应用的基本域名为第二域名;
若Web应用支持多中心化,且获取的URL的第一域名能够匹配到该Web应用的区域化配置信息中已启用的区域化域名,则确定该匹配到的区域化域名为第二域名;
若Web应用支持多中心化,且获取的URL中的URL参数携带区域信息,则根据URL参数携带的区域信息,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名;
若Web应用支持多中心化,获取的URL的第一域名没有匹配到该Web应用的区域化配置信息中已启用的区域化域名,且该URL的URL参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从该Web应用的区域化配置信息中,获取该区域信息对应的域名作为第二域名。
本实施例中,用于实现Web应用域名跳转的程序在被处理器读取执行时,所执行的操作对应于图2所示实施例中的步骤201至步骤203;该程序所执行的操作的其它细节可参见上述方法实施例。
此外,本申请实施例还提供一种计算机可读介质,存储有多个指令,当多个指令被一个或多个处理器执行时实现上述实现Web应用域名跳转的方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。

Claims (12)

1.一种实现网页应用域名跳转的方法,其特征在于,包括:
获取客户端访问的网页应用的统一资源定位符,并解析得到第一域名;
根据所述统一资源定位符以及所述网页应用的区域化配置信息,确定第二域名;
若所述第一域名和所述第二域名相同,则确定不进行域名跳转;若所述第一域名和所述第二域名不同,则确定根据所述第二域名进行跳转;
其中,所述网页应用的区域化配置信息,包括以下至少之一:所述网页应用的基本域名、所述网页应用支持的中心化状态、所述网页应用的区域列表、所述区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
2.根据权利要求1所述的方法,其特征在于,所述根据所述统一资源定位符以及所述网页应用的区域化配置信息,确定第二域名,包括:
若所述网页应用支持单中心化,则确定所述网页应用的基本域名为第二域名;
若所述网页应用支持多中心化,且所述统一资源定位符的第一域名能够匹配到所述网页应用的区域化配置信息中已启用的区域化域名,则确定所述匹配到的区域化域名为第二域名;
若所述网页应用支持多中心化,且所述统一资源定位符的统一资源定位符参数携带区域信息,则根据所述统一资源定位符参数携带的区域信息,从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名;
若所述网页应用支持多中心化,所述统一资源定位符的第一域名没有匹配到所述网页应用的区域化配置信息中已启用的区域化域名,且所述统一资源定位符的统一资源定位符参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名。
3.根据权利要求2所述的方法,其特征在于,所述从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名,包括:
在所述网页应用的区域化配置信息中,若所述区域信息对应的区域化域名已启用,则确认所述区域化域名为第二域名;若所述区域信息对应的区域化域名没有启用,则确认所述网页应用的基本域名为第二域名。
4.根据权利要求2所述的方法,其特征在于,所述统一资源定位符参数包括以下至少之一:哈希参数、路径参数。
5.根据权利要求2所述的方法,其特征在于,所述确定第二域名之后,所述方法还包括:在所述客户端缓存中记录所述区域信息。
6.一种实现网页应用域名跳转的装置,其特征在于,包括:
第一域名确定模块,用于获取客户端访问的网页应用的统一资源定位符,并解析得到第一域名;
第二域名确定模块,用于根据所述统一资源定位符以及所述网页应用的区域化配置信息,确定第二域名;
其中,所述网页应用的区域化配置信息,包括以下至少之一:所述网页应用的基本域名、所述网页应用支持的中心化状态、所述网页应用的区域列表、所述区域列表中每个区域的区域化启用状态、每个区域的区域化域名;
跳转控制模块,用于根据所述第一域名和所述第二域名的比较结果,确定是否进行域名跳转,包括:若所述第一域名和所述第二域名相同,则确定不进行域名跳转;若所述第一域名和所述第二域名不同,则确定根据所述第二域名进行跳转。
7.根据权利要求6所述的装置,其特征在于,所述第二域名确定模块用于通过以下方式根据所述统一资源定位符以及所述网页应用的区域化配置信息,确定第二域名:
若所述网页应用支持单中心化,则确定所述网页应用的基本域名为第二域名;
若所述网页应用支持多中心化,且所述统一资源定位符的第一域名能够匹配到所述网页应用的区域化配置信息中已启用的区域化域名,则确定所述匹配到的区域化域名为第二域名;
若所述网页应用支持多中心化,且所述统一资源定位符的统一资源定位符参数携带区域信息,则根据所述统一资源定位符参数携带的区域信息,从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名;
若所述网页应用支持多中心化,所述统一资源定位符的第一域名没有匹配到所述网页应用的区域化配置信息中已启用的区域化域名,且所述统一资源定位符的统一资源定位符参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名。
8.根据权利要求7所述的装置,其特征在于,所述第二域名确定模块用于通过以下方式从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名:
在所述网页应用的区域化配置信息中,若所述区域信息对应的区域化域名已启用,则确认所述区域化域名为第二域名;若所述区域信息对应的区域化域名没有启用,则确认所述网页应用的基本域名为第二域名。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:记录模块,用于在所述客户端缓存中记录所述区域信息。
10.一种实现网页应用域名跳转的装置,其特征在于,包括:存储器以及处理器;其中,所述存储器用于存储用于实现网页应用域名跳转的程序;该用于实现网页应用域名跳转的程序在被所述处理器读取执行时,执行以下操作:
获取客户端访问的网页应用的统一资源定位符,并解析得到第一域名;
根据所述统一资源定位符以及所述网页应用的区域化配置信息,确定第二域名;
若所述第一域名和所述第二域名相同,则确定不进行域名跳转;若所述第一域名和所述第二域名不同,则确定根据所述第二域名进行跳转;
其中,所述网页应用的区域化配置信息,包括以下至少之一:所述网页应用的基本域名、所述网页应用支持的中心化状态、所述网页应用的区域列表、所述区域列表中每个区域的区域化启用状态、每个区域的区域化域名。
11.根据权利要求10所述的装置,其特征在于,所述根据所述统一资源定位符以及所述网页应用的区域化配置信息,确定第二域名,包括:
若所述网页应用支持单中心化,则确定所述网页应用的基本域名为第二域名;
若所述网页应用支持多中心化,且所述统一资源定位符的第一域名能够匹配到所述网页应用的区域化配置信息中已启用的区域化域名,则确定所述匹配到的区域化域名为第二域名;
若所述网页应用支持多中心化,且所述统一资源定位符的统一资源定位符参数携带区域信息,则根据所述统一资源定位符参数携带的区域信息,从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名;
若所述网页应用支持多中心化,所述统一资源定位符的第一域名没有匹配到所述网页应用的区域化配置信息中已启用的区域化域名,且所述统一资源定位符的统一资源定位符参数没有携带区域信息,则根据客户端缓存中记录的区域信息,从所述网页应用的区域化配置信息中,获取所述区域信息对应的域名作为第二域名。
12.一种计算机可读介质,存储有多个指令,当所述多个指令被一个或多个处理器执行时实现如权利要求1至5中任一项所述的实现网页应用域名跳转的方法。
CN201710333391.2A 2017-05-12 2017-05-12 一种实现网页应用域名跳转的方法及装置 Active CN108881501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710333391.2A CN108881501B (zh) 2017-05-12 2017-05-12 一种实现网页应用域名跳转的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710333391.2A CN108881501B (zh) 2017-05-12 2017-05-12 一种实现网页应用域名跳转的方法及装置

Publications (2)

Publication Number Publication Date
CN108881501A CN108881501A (zh) 2018-11-23
CN108881501B true CN108881501B (zh) 2021-07-06

Family

ID=64319583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710333391.2A Active CN108881501B (zh) 2017-05-12 2017-05-12 一种实现网页应用域名跳转的方法及装置

Country Status (1)

Country Link
CN (1) CN108881501B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729288A (zh) * 2008-10-31 2010-06-09 中国科学院计算机网络信息中心 一种统计互联网用户网络访问行为的方法和装置
EP2611116A1 (en) * 2011-12-30 2013-07-03 Verisign, Inc. Providing privacy enhanced resolution system in the domain name system
CN103428179A (zh) * 2012-05-18 2013-12-04 阿里巴巴集团控股有限公司 一种登录多域名网站的方法、***以及装置
CN103634314A (zh) * 2013-11-28 2014-03-12 杭州华三通信技术有限公司 一种基于虚拟路由器vsr的服务访问控制方法及设备
CN106326260A (zh) * 2015-06-29 2017-01-11 小米科技有限责任公司 网页访问方法及装置
CN106453675A (zh) * 2016-09-19 2017-02-22 网宿科技股份有限公司 302跳转方法、url生成方法及***、域名解析方法及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910245B2 (en) * 2010-11-05 2014-12-09 Citrix Systems, Inc. Systems and methods for managing domain name system security (DNSSEC)
CN103023787B (zh) * 2011-09-26 2016-01-20 百度在线网络技术(北京)有限公司 数据中心***及装置和提供服务的方法
WO2015100566A1 (zh) * 2013-12-30 2015-07-09 华为技术有限公司 一种处理域名请求的方法及设备
CN105072211B (zh) * 2015-08-12 2018-11-02 网宿科技股份有限公司 基于dns的域名部署***及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729288A (zh) * 2008-10-31 2010-06-09 中国科学院计算机网络信息中心 一种统计互联网用户网络访问行为的方法和装置
EP2611116A1 (en) * 2011-12-30 2013-07-03 Verisign, Inc. Providing privacy enhanced resolution system in the domain name system
CN103428179A (zh) * 2012-05-18 2013-12-04 阿里巴巴集团控股有限公司 一种登录多域名网站的方法、***以及装置
CN103634314A (zh) * 2013-11-28 2014-03-12 杭州华三通信技术有限公司 一种基于虚拟路由器vsr的服务访问控制方法及设备
CN106326260A (zh) * 2015-06-29 2017-01-11 小米科技有限责任公司 网页访问方法及装置
CN106453675A (zh) * 2016-09-19 2017-02-22 网宿科技股份有限公司 302跳转方法、url生成方法及***、域名解析方法及***

Also Published As

Publication number Publication date
CN108881501A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN106202547B (zh) 一种站点管理方法、装置以及一种网站***
CN107809383B (zh) 一种基于mvc的路径映射方法及装置
CN107181686B (zh) 路由表的同步方法、装置及***
CN103064989B (zh) 网页保存、打开方法及装置
CN107291759B (zh) 浏览器页面资源的处理方法和装置
CN104580540B (zh) 网站访问的实现方法和装置
US8799518B2 (en) Process for selecting an authoritative name server
CN109327559B (zh) 一种基于混合云平台的域名解析方法和装置
CN106817388B (zh) 虚拟机、宿主机获取数据的方法、装置及访问数据的***
CN112954043B (zh) 基于网站访问日志识别用户的方法及计算机设备
CN104268229A (zh) 一种基于多进程浏览器的资源获得方法及装置
CN109634753B (zh) 切换浏览器内核的数据处理方法、装置、终端和存储介质
CN109710832B (zh) 一种用于搜索寄宿程序的方法与设备
CN102761628A (zh) 泛域名识别、处理装置及方法
JP2018515845A (ja) ウェブページでのクリック位置を記録及び復元する方法並びに装置
JP6779307B2 (ja) ページ表示のための方法及び装置
CN110933193B (zh) 域名解析方法、装置、电子设备及计算机可读存储介质
CN107704464B (zh) 解析静态资源的路径的方法及装置
AU2011358857B2 (en) Method and apparatus for managing content in a processing device
CN110674427A (zh) 响应网页访问请求的方法、装置、设备及存储介质
CN105025435B (zh) 移动终端、接入点相关内容提供服务器、获取方法及记录介质
CN108881501B (zh) 一种实现网页应用域名跳转的方法及装置
US20150281385A1 (en) Location content providing server, location content providing method, location content providing server program
CN110830492B (zh) 一种基于CoreDNS注册服务的边缘应用相互调度的方法及***
CN111797334A (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
GR01 Patent grant
GR01 Patent grant