CN109981595B - 一种资源获取方法、资源返回方法及服务器、存储介质 - Google Patents
一种资源获取方法、资源返回方法及服务器、存储介质 Download PDFInfo
- Publication number
- CN109981595B CN109981595B CN201910164233.8A CN201910164233A CN109981595B CN 109981595 B CN109981595 B CN 109981595B CN 201910164233 A CN201910164233 A CN 201910164233A CN 109981595 B CN109981595 B CN 109981595B
- Authority
- CN
- China
- Prior art keywords
- domain name
- resource
- name address
- server
- address
- 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
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- 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
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5053—Lease time; Renewal aspects
-
- 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/101—Access control lists [ACL]
-
- 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/35—Types of network names containing special prefixes
-
- 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/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
-
- 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/60—Types of network addresses
- H04L2101/686—Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及互联网技术领域,公开了一种资源获取方法、资源返回方法及服务器、存储介质。本发明中,该资源获取方法包括:接收内容分发网络服务器基于第一互联网协议发送的资源请求消息,其中,资源请求消息中包括所请求的资源的域名地址;确定域名地址属于预设域名,则对域名地址进行解码,获得原始域名地址,其中,原始域名地址用于访问支持第二互联网协议的资源服务器;根据原始域名地址从资源服务器获取资源。通过在CDN服务器和资源服务器之间引入改写服务器,使属于预设域名的客户端所请求的资源的域名地址,能够通过该改写服务器指向对应的资源服务器,使不在同一个域的资源能够被客户端访问到,提升客户体验度,降低了成本。
Description
技术领域
本发明实施例涉及互联网技术领域,特别涉及一种资源获取方法、资源返回方法及服务器、存储介质。
背景技术
目前,互联网技术已得到普遍应用,而互联网在通信的过程中所使用的互联网协议还处于低版本阶段,即第四版本的互联网协议(Internet Protocol Version 4,IPv4),按照“循序渐进、稳步发展”的原则,将互联网协议由IPv4版本提升至较高版本,即第六版本的互联网协议(Internet Protocol Version 6,IPv6)时,需要有一段时间同时使用这两种协议,在这期间通过使用过渡技术,将互联网协议由IPv4版本逐渐演进到IPv6版本。
在一个互联网的网页界面中存在多种资源,如超文本(Hyper Text MarkupLanguage,HTML)文件、脚本(JavaScript,JS)文件、层叠样式表(Cascading Style Sheets,CSS)文件等。在这类资源文件中存在各式各样的链接地址,该链接地址可以用相对路径,或,绝对路径表示。其中,使用相对路径表示的链接地址属于本域地址,称为本域链接地址;使用绝对路径表示的链接地址,根据该链接地址所属的域名进行划分,分为本域链接地址和非本域链接地址,其中的非本域链接地址表示的是使用绝对路径表示的不属于本域内的链接地址,例如:网站A对应的域名地址为“www.abc.com”,网站B对应的域名地址为“www.dfg.net”,则网站A对应的域与网站B对应的域不是同一个,则网站A对应的域名地址相对于网站B对应的域名地址就是非本域链接地址。在传统的内容分发网络(ContentDelivery Network,CDN)中,已经支持IPv4/IPv6双协议栈,如果客户需要实现全网站都支持IPv6协议,只需要将该客户的网站接入到CDN网络中,即可实现网络协议由IPv4协议到IPv6协议的升级。
发明人发现现有技术中至少存在如下问题:传统CDN网络只支持本域链接地址的双协议栈覆盖,无法覆盖非本域链接地址。如果在一个网站中,广泛使用非本域链接地址,并且该网站支持IPv6协议进行通信,则会出现大部分资源无法访问的情况,导致网页显示异常。
发明内容
本发明实施方式的目的在于提供一种资源获取方法、资源返回方法及服务器、存储介质,用以解决在支持IPv6协议的网站中,无法访问非本域链接地址的网页而导致的网页显示异常的问题。
为解决上述技术问题,本发明的实施方式提供了一种资源获取方法,应用于改写服务器,包括以下步骤:接收内容分发网络服务器基于第一互联网协议发送的资源请求消息,其中,资源请求消息中包括所请求的资源的域名地址;确定域名地址属于预设域名,则对域名地址进行解码,获得原始域名地址,其中,原始域名地址用于访问支持第二互联网协议的资源服务器;根据原始域名地址从资源服务器获取资源。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述资源获取方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述资源获取方法。
本发明实施方式相对于现有技术而言,通过在CDN服务器和资源服务器之间引入改写服务器,使属于预设域名的客户端所请求的资源的域名地址,能够通过该改写服务器指向对应的资源服务器,无需改动CDN网络中的各个内部节点的功能,也不用改变资源服务器对页面文件的内容的处理方式,使不在同一个域的资源能够被客户端访问到,提升了客户体验度,降低了成本,实现了对网站所支持的互联网通信协议的升级。
另外,第一互联网协议的版本高于第二互联网协议的版本。
另外,第一互联网协议为互联网协议第六版IPv6。
另外,资源的域名地址属于白名单,白名单中包括预先设定的支持域名转换的域名。
该方式中,通过预先设置白名单,若确定所请求的资源的域名地址在该白名单中,则通过改写服务器将所请求的资源的域名地址进行转换,以使该改写服务器能够指向对应的资源服务器,进而获得所请求的资源。
另外,资源请求消息中还包括资源服务器的互联网协议地址和端口号。
该方式中,通过资源请求消息中所包含的资源服务器的互联网协议地址和端口号,使得能够访问对应的资源服务器,获取对应的资源。
另外,对域名地址进行解码,获得原始域名地址,包括:将域名地址中的特殊字符替换为圆点分隔符,其中,特殊字符为国际域名允许的字符集中除圆点分隔符之外的任意一个;根据替换后的域名地址和预设域名,确定原始域名地址。
该方式中,通过使用圆点分隔符将域名地址中的特殊字符替换,并结合预设域名,获得原始域名地址,根据该原始域名地址,从对应的资源服务器中获取到客户端所需要的资源,进而使处于IPv6协议环境下的客户端能够访问与该客户端不在同一个域中的资源,为客户带来良好的客户体验。
另外,根据替换后的域名地址和预设域名,确定原始域名地址,包括:删除替换后的域名地址中所包含的预设域名,获得原始域名地址。
本发明的实施方式还提供了一种资源返回方法,应用于改写服务器,包括以下步骤:接收资源服务器返回的响应消息,其中,响应消息中携带根据第一域名地址所获取的资源;将资源中的第二域名地址进行编码,得到编码后的域名地址,其中,第一域名地址与第二域名地址不属于同一个域,编码后的域名地址属于预设域名;根据编码后的域名地址更新资源,将更新后的资源通过内容分发网络服务器返回给客户端。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述资源返回方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述资源返回方法。
本发明实施方式相对于现有技术而言,通过在CDN服务器和资源服务器之间引入改写服务器,使属于预设域名的客户端所请求的资源的域名地址,能够通过该改写服务器指向对应的资源服务器,无需改动CDN网络中的各个内部节点的功能,也不用改变资源服务器对页面文件的内容的处理方式,使不在同一个域的资源能够被客户端访问到,提升了客户体验度,降低了成本,实现了对网站所支持的互联网通信协议的升级。
另外,第一域名地址用于访问支持第一互联网协议的资源服务器,第二域名地址用于访问支持第二互联网协议的资源服务器。
另外,第一互联网协议的版本高于第二互联网协议的版本。
另外,第一互联网协议为互联网协议第六版IPv6。
另外,根据编码后的域名地址更新资源,包括:使用编码后的域名地址替换资源中的第二域名地址,获得更新后的资源。
另外,在接收资源服务器返回的响应消息之后,将资源中的第二域名地址进行编码,得到编码后的域名地址之前,还包括:根据响应消息中携带的资源的类型标识,确定资源的类型为文本类型;扫描资源,确定资源中包括有第二域名地址。
另外,扫描资源,确定资源中包括有第二域名地址,包括:使用正则表达式扫描资源,若确定资源中的字符串与正则表达式相匹配,则确定资源中包括有第二域名地址,其中,正则表达式为预先设定的、具有第二域名地址的特征的字符串。
另外,将资源中的第二域名地址进行编码,得到编码后的域名地址,包括:
将第二域名地址中的圆点分隔符替换为特殊字符,获得替换后的域名地址,其中,特殊字符为国际域名允许的字符集中除圆点分隔符之外的任意一个;根据替换后的域名地址和预设域名,确定编码后的域名地址。
另外,替换后的域名地址中包括:替换前缀和原路径信息;根据替换后的域名地址和预设域名,确定编码后的域名地址,包括:将替换后的域名地址与预设域名相叠加,获得编码后的域名地址,其中,编码后的域名地址依次为:替换前缀、预设域名和原路径信息。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的资源获取方法流程方框图;
图2是根据本发明第二实施方式中的资源获取方法流程方框图;
图3是根据本发明第三实施方式中的资源返回方法流程方框图;
图4是根据本发明第四实施方式中的资源返回方法流程方框图;
图5是根据本发明第五实施方式中的互联网拓扑结构图;
图6是根据本发明第五实施方式中的使用互联网拓扑结构进行资源获取的流程方框图;
图7是根据本发明第五实施方式中的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的第一实施方式涉及一种资源获取方法。通过在CDN服务器和资源服务器之间引入改写服务器,使属于预设域名的客户端所请求的资源的域名地址,能够通过该改写服务器指向对应的资源服务器,无需改动CDN网络中的各个内部节点的功能,也不用改变资源服务器对页面文件的内容的处理方式,使不在同一个域的资源能够被客户端访问到,提升了客户体验度,降低了成本,实现了对网站所支持的互联网通信协议的升级。
下面对本实施方式中的资源获取方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。
图1所示为本实施方式中的资源获取方法的流程图,该方法可用于改写服务器。该方法可包括如下步骤。
在步骤101中,接收内容分发网络服务器基于第一互联网协议发送的资源请求消息。
其中,资源请求消息中包括所请求的资源的域名地址,还包括资源服务器的互联网协议地址和端口号;资源的域名地址属于白名单,该白名单中包括预先设定的支持域名转换的域名。
在一个具体实现中,该白名单可以是CDN网络所服务的网站对应的域名地址,或在CDN网络中,开通了该改写服务器所对应的改写功能的域名地址,例如,网络公司A的网站地址为“www.asdf.com”,该网络公司A在CDN网络中开通了该改写服务器所对应的改写功能,则该网络公司A的网站地址“www.asdf.com”就会被加入到该白名单中。
在一个具体实现中,客户端对一个网站的网页进行访问,发送用来获得该网站页面中对应资源的资源请求消息至内容分发网络(Content Delivery Network,CDN)服务器。CDN服务器收到客户端发送的资源请求消息,例如,该资源请求消息为超文本传输协议(Hyper Text Transport Protocol,HTTP)请求消息。CDN服务器判断该HTTP请求消息的携带的主机(HOST)地址是否包含在白名单中,若确定该HOST地址在白名单中,并且该客户端所在的网络环境是支持第一互联网协议的,例如:该客户端支持IPv6,则将该HTTP请求消息转发至改写服务器;其中该HTTP请求消息中包含有资源服务器的IP地址和端口号,以方便改写服务器进行回源,即根据资源服务器的互联网协议(Internet Protocol,IP)地址和端口号,返回到该资源服务器获取对应的资源;例如该资源服务器的IP地址为:192.168.1.2,端口号为5500,则该改写服务器会访问“192.168.1.2:5500”这个地址所对应的资源服务器,获取客户端所需要的资源。若确定该HOST不在白名单中,则该HTTP请求消息按照正常方式进行回源。
需要说明的是,客户所访问的网站页面中包含多种资源,该资源可以是HTML文件,也可以是JS脚本文件或CSS文件等,在此不做限制,具体视对应的网站内容而确定。
在一个具体实现中,在CDN服务器上配置域名地址的安全套接层(Secure SocketsLayer,SSL)协议证书,该证书支持HTTP协议和超文本传输安全协议(Hyper Text TransferProtocol over Secure Socket Layer,HTTPS)的格式。
在步骤102中,确定域名地址属于预设域名,则对域名地址进行解码,获得原始域名地址。
在一个具体实现中,改写服务器收到HTTP请求后,判断HTTP请求消息中携带的HOST地址是否属于预设域名,预设域名为预先设定的泛域名,例如:预先申请一个独立的域名“abc.com”;获得对应的泛域名“*.abc.com”,使属于该泛域名的域名地址都指向改写服务器,进而通过该改写服务器获得对应的资源;若HTTP请求消息中携带的HOST地址与预设域名相匹配,则改写服务器对HTTP请求消息中的HOST地址进行解码,将HOST地址还原成原始域名地址。
需要说明的是,原始域名地址用于访问支持第二互联网协议的资源服务器,并且第一互联网协议的版本高于第二互联网协议的版本,例如,第一互联网协议为互联网协议第六版IPv6,第一互联网协议为互联网协议第四版IPv4。
在步骤103中,根据原始域名地址从资源服务器获取资源。
在一个具体实现中,改写服务器通过解码获得原始域名地址后,根据该原始域名地址,访问对应的资源服务器,该资源服务器将改写服务器需要的资源返回给改写服务器,从而使改写服务器获取到该资源。
在本实施方式中,通过在CDN服务器和资源服务器之间引入改写服务器,使属于预设域名的客户端所请求的资源的域名地址,能够通过该改写服务器指向对应的资源服务器,无需改动CDN网络中的各个内部节点的功能,也不用改变资源服务器对页面文件的内容的处理方式,使不在同一个域的资源能够被客户端访问到,提升了客户体验度,降低了成本,实现了对网站所支持的互联网通信协议的升级。
本发明的第二实施方式涉及一种资源获取方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:将域名地址中的特殊字符替换为圆点分隔符,根据替换后的域名地址和预设域名,确定原始域名地址。
具体处理流程如图2所示,在本实施方式中,该资源获取方法包括步骤201~204,因该实施方式中步骤201与第一实施方式中的步骤101相同,并且,该实施方式中步骤204与第一实施方式中的步骤103相同,在此不再赘述,下面具体介绍本实施方式中的步骤202~203。
在步骤202中,确定域名地址属于预设域名,将域名地址中的特殊字符替换为圆点分隔符。
需要说明的是,其中的域名地址是经过编码后的所要请求的资源的域名地址,特殊字符为国际域名允许的字符集中除圆点分隔符之外的任意一个。
在一个具体实现中,使用圆点分隔符“.”替换已编码的域名地址中的特殊字符,例如“---”,则已编码的域名地址为“https://www---aaa---com.abc.com/1.js”,替换后的该域名地址为“https://www.aaa.com.abc.com/1.js”。需要说明的是,其中的特殊字符也可以是除圆点分隔符“.”之外的其他属于国际域名允许的字符集中的任意一个。
在步骤203中,根据替换后的域名地址和预设域名,确定原始域名地址。
在一个具体实现中,通过删除替换后的域名地址中所包含的预设域名,获得原始域名地址。例如,若替换后的域名地址为“https://www.aaa.com.abc.com/1.js”,并且确定预设域名为“abc.com”,则删除该替换后的域名地址中的预设域名“.abc.com”,即可获得原始域名地址为“https://www.aaa.com1.js”。
在该实施方式中,通过使用圆点分隔符将编码后的域名地址中的特殊字符替换后,并删除其中的预设域名,从而获得原始域名地址,使编码后的域名地址得到还原,使改写服务器能够根据还原后的原始域名地址,到对应的资源服务器中获取到客户端所需要的资源,进而使处于IPv6协议环境下的客户端能够访问与该客户端不在同一个域中的资源,为客户带来良好的客户体验。
本发明的第三实施方式涉及一种资源返回方法,图3所示为本实施方式中的资源返回方法的流程图,该方法可用于改写服务器,该方法可包括如下步骤。
在步骤301中,接收资源服务器返回的响应消息。
其中,响应消息中携带根据第一域名地址所获取的资源。
在一个具体实现中,改写服务器根据第一域名地址,发送资源请求消息给对应的资源服务器,该资源服务器接收到改写服务器发送的资源请求消息后,返回该资源请求消息所对应的响应消息,在该响应消息中携带有所请求的资源,该资源可以是HTML文件,也可以是JS脚本文件或CSS文件等,在此不做限制,具体视对应的网站内容而确定。
在步骤302中,将资源中的第二域名地址进行编码,得到编码后的域名地址。
其中,第一域名地址与第二域名地址不属于同一个域,编码后的域名地址属于预设域名。
需要说明的是,第一域名地址用于访问支持第一互联网协议的资源服务器,第二域名地址用于访问支持第二互联网协议的资源服务器,并且,第一互联网协议的版本高于第二互联网协议的版本。例如,第一互联网协议为互联网协议第六版IPv6,第一互联网协议为互联网协议第四版IPv4。
在一个具体实现中,使用如下方法对资源中的第二域名地址进行编码:将第二域名地址中的圆点分隔符替换为特殊字符,获得替换后的域名地址,其中,特殊字符为国际域名允许的字符集中除圆点分隔符之外的任意一个;根据替换后的域名地址和预设域名,确定编码后的域名地址。
其中,替换后的域名地址中包括:替换前缀和原路径信息;将替换后的域名地址与预设域名相叠加,获得编码后的域名地址,其中,编码后的域名地址依次为:替换前缀、预设域名和原路径信息。
例如:资源中的第二域名地址为“https://www.aaa.com/1.js”,特殊字符为“---”,将其中的圆点分隔符“.”替换为特殊字符“---”,替换后的第二域名地址为“https://www---aaa---com/1.js”,其中,“www---aaa---com”表示替换前缀,“/1.js”表示原路径信息,再与预设域名地址“abc.com”相叠加,则获得编码后的域名地址为“https://www---aaa---com.abc.com/1.js”。其中的特殊字符也可以是除圆点分隔符“.”之外的其他属于国际域名允许的字符集中的任意一个。
在步骤303中,根据编码后的域名地址更新资源,将更新后的资源通过内容分发网络服务器返回给客户端。
在一个具体实现中,使用编码后的域名地址替换资源中的第二域名地址,获得更新后的资源。例如,编码后的域名地址为“https://www--aaa--com.abc.com/1.js”,而资源中的第二域名地址为“https://www.aaa.com/1.js”,使用域名地址“https://www--aaa--com.abc.com/1.js”来替换域名地址“https://www.aaa.com/1.js”,从而获得更新后的资源。需要说明的是,该资源中所包含的第二域名地址不止一个,有可能是两个、三个、甚至更多,只需将该资源中包含的所有的第二域名地址,使用对应的编码后的域名地址替换掉,即可获得更新后的资源,再将该更新后的资源通过CDN服务器返回给客户端,进而使客户端获得所需要的资源,并且该资源中所包含的第二域名地址都是能够通过CDN服务器和改写服务器访问得到的。
在本实施方式中,通过在CDN服务器和资源服务器之间引入改写服务器,使属于预设域名的客户端所请求的资源的域名地址,能够通过该改写服务器指向对应的资源服务器,无需改动CDN网络中的各个内部节点的功能,也不用改变资源服务器对页面文件的内容的处理方式,使不在同一个域的资源能够被客户端访问到,提升了客户体验度,降低了成本,实现了对网站所支持的互联网通信协议的升级。
本发明的第四实施方式涉及一种资源返回方法,第四实施方式与第三实施方式大致相同,主要区别之处在于:在接收资源服务器返回的响应消息之后,将资源中的第二域名地址进行编码,得到编码后的域名地址之前,还需要确定资源的类型为文本类型,并且扫描该文本类型的资源,确定资源中包括有第二域名地址。
具体处理流程如图4所示,在本实施方式中,包括步骤401~405,其中,步骤401与第三实施方式中的步骤301相同,并且,步骤404~405与第三实施方式中的步骤302~303相同在此不再赘述,下面具体介绍本实施方式中的步骤402~403。
在步骤402中,根据响应消息中携带的资源的类型标识,确定资源的类型为文本类型。需要说明的是,该响应消息中所携带的资源可以是多种类型的资源,例如,文本文件或图片资源等,根据响应消息中携带的资源的类型标识,可以确定该资源的所属类型,例如,在该响应消息的消息头中携带有资源的类型标识为“内容类型(content-type)”,设定文本类型为text/html,或,application/javascript,或,text/css,设定图片类型为image/jpeg,当content-type等于text/html,或,application/javascript,或,text/css时,表示该资源的类型为文本文件。
在步骤403中,扫描资源,确定资源中包括有第二域名地址。
在一个具体实现中,若确定该资源的类型为文本类型,则使用正则表达式扫描资源,若确定资源中的字符串与正则表达式相匹配,则确定资源中包括有第二域名地址,其中,正则表达式为预先设定的、具有第二域名地址的特征的字符串。
例如:设定正则表达式为“http://*.aaa.com”,则依次提取该文本类型的资源中的字符串,若所提取的字符串与该正则表达式相匹配,即所提取的字符串中包含有具有第二域名地址的特征的字符串“.aaa.com”时,则表示所提取的字符串是属于第二域名地址,则确定该文本资源中包括有第二域名地址。
在该实施方法中,通过使用正则表达式扫描文本资源,确定该文本资源中包含有第二域名地址,再对该第二域名地址进行编码,并使用编码后的域名地址替换对应的第二域名地址,将更新后的资源返回给处于第一互联网协议环境下的客户端,使该客户端能够访问与该客户端不在同一个域中的、支持第二互联网协议的资源服务器的资源,给客户带来了良好的客户体验。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请第五实施方式提供了一种互联网拓扑结构,该互联网拓扑结构如图5所示,由客户端501,CDN服务器502,改写服务器503和资源服务器504组成,使用图6所示的流程步骤获取客户端501所请求的资源。
在步骤601中,客户端501,发送的HTTP请求消息给CDN服务器502。
其中,HTTP请求消息用于请求访问网站页面。
在步骤602中,CDN服务器502判断在白名单中是否包含有该HTTP请求消息所携带的HOST地址,并且客户端501处于IPv6的网络环境中,若确定该HOST地址在白名单中,并且客户端501支持IPv6网络协议,则执行步骤603,否则,执行步骤612。
在步骤603中,CDN服务器502将该HTTP请求消息转发至改写服务器503。
其中该HTTP请求消息中包含有资源服务器504的IP地址和端口号,以方便改写服务器503进行回源。
在步骤604中,改写服务器503判断该资源请求消息中所携带的域名地址是否经过编码的泛域名,若是,则执行步骤606,否则,执行步骤605。
在步骤605中,改写服务器503对该资源请求消息中所携带的域名地址进行解码,获得对应的原始域名地址,根据该原始域名地址访问对应的资源服务器504。
在步骤606中,获取HTTP请求消息中包含的资源服务器504的IP地址和端口号,访问资源服务器504。
需要说明的是,资源服务器504处于IPv4的网络环境内,并且与客户端501不在同一个域内。
在步骤607中,资源服务器504接收到HTTP请求消息,返回响应消息给改写服务器503。
其中,响应消息中包含有所请求的资源。
在步骤608中,改写服务器503判断响应消息中包含的资源的类型是否是文本类型,若是,则执行步骤610,否则,执行步骤609。
在步骤609中,改写服务器503返回资源给CDN服务器502。
在步骤610中,改写服务器503使用正则表达式,对资源文件进行全文扫描,确定资源文件中包含的非本域链接地址,并对非本域链接地址进行编码。
其中,在资源文件扫描完成后,获取到该资源文件所包含的所有非本域链接地址,对各个非本域链接地址进行编码。
在步骤611中,改写服务器503使用编码后的域名地址,替换资源中的非本域链接地址,获得更新后的资源,发送更新后资源给CDN服务器502。
在步骤612中,CDN服务器502接收到改写服务器503返回的资源,并返回该资源给客户端501。
在该实施方式中,通过在CDN服务器和资源服务器之间引入改写服务器,无需改动CDN网络中的各个内部节点的功能,也不用改变资源服务器对页面文件的内容的处理方式,相比与传统的CDN网络修改方案,可以降低成本,以实现网站从IPv4协议升级到IPv6协议。
本申请第六实施方式提供了一种服务器,该设备具体结构如图7所示。包括至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702。其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行第一至第二实施方式中的任一实施方式所描述的资源获取方法,或,执行第三至第四实施方式中的任一实施方式所描述的资源返回方法。
需要说明的是,该服务器可以是执行第一或第二实施方式中所描述的资源获取方法的服务器,也可以是执行第三或第四实施方式中所描述的资源返回方法的服务器,或,执行第一或第二实施方式中所描述的资源获取方法和执行第三或第四实施方式中所描述的资源返回方法的服务器。
本实施方式中,处理器701以中央处理器(Central Processing Unit,CPU)为例,存储器702以可读写存储器(Random Access Memory,RAM)为例。处理器701、存储器702可以通过总线或者其他方式连接,图7中以通过总线连接为例。存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现资源获取方法的程序就存储于存储器702中。处理器701通过运行存储在存储器702中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述资源获取方法,或,上述资源返回方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。
一个或者多个程序模块存储在存储器702中,当被一个或者多个处理器701执行时,执行上述任意方法实施例中的资源获取方法,或,执行上述任意方法实施例中的资源返回方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的第七实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本申请任意方法实施例中涉及的资源获取方法,或,资源返回方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (19)
1.一种资源获取方法,其特征在于,应用于改写服务器,所述方法包括:
接收支持本域链接地址的双协议栈的内容分发网络CDN服务器基于第一互联网协议发送的资源请求消息,其中,所述资源请求消息中包括所请求的资源的域名地址;所述资源请求消息由处于所述第一互联网协议的网络环境的客户端发送给所述内容分发网络服务器,并由所述内容分发网络服务器在判定所述域名地址属于白名单时下发至所述改写服务器;所述白名单包括CDN网络所服务的网站对应的域名地址,或在CDN网络中,开通了所述改写服务器所对应的改写功能的域名地址;
确定所述域名地址属于指向所述改写服务器的预设域名,则对所述域名地址进行解码,获得原始域名地址,其中,所述原始域名地址用于访问支持第二互联网协议的资源服务器,且所述域名地址和所述原始域名地址属于不同的域;
根据所述原始域名地址从所述资源服务器获取资源。
2.根据权利要求1所述的资源获取方法,其特征在于,所述第一互联网协议的版本高于所述第二互联网协议的版本。
3.根据权利要求2所述的资源获取方法,其特征在于,所述第一互联网协议为互联网协议第六版IPv6。
4.根据权利要求1所述的资源获取方法,其特征在于,所述资源请求消息中还包括所述资源服务器的互联网协议地址和端口号。
5.根据权利要求1所述的资源获取方法,其特征在于,对所述域名地址进行解码,获得原始域名地址,包括:
将所述域名地址中的特殊字符替换为圆点分隔符,其中,所述特殊字符为国际域名允许的字符集中除圆点分隔符之外的任意一个;
根据替换后的所述域名地址和所述预设域名,确定所述原始域名地址。
6.根据权利要求5所述的资源获取方法,其特征在于,根据替换后的所述域名地址和所述预设域名,确定所述原始域名地址,包括:
删除所述替换后的域名地址中所包含的所述预设域名,获得所述原始域名地址。
7.一种资源返回方法,其特征在于,应用于改写服务器,所述方法包括:
接收资源服务器返回的响应消息,其中,所述响应消息中携带根据第一域名地址所获取的资源;
将所述资源中的第二域名地址进行编码,得到编码后的域名地址,其中,所述第一域名地址与所述第二域名地址不属于同一个域,所述编码后的域名地址属于指向所述改写服务器的预设域名;
根据所述编码后的域名地址更新所述资源,将更新后的所述资源通过支持本域链接地址的双协议栈的内容分发网络服务器返回给客户端。
8.根据权利要求7所述的资源返回方法,其特征在于,包括:所述第一域名地址用于访问支持第一互联网协议的资源服务器,所述第二域名地址用于访问支持第二互联网协议的资源服务器。
9.根据权利要求8所述的资源返回方法,其特征在于,所述第一互联网协议的版本高于所述第二互联网协议的版本。
10.根据权利要求9所述的资源返回方法,其特征在于,所述第一互联网协议为互联网协议第六版IPv6。
11.根据权利要求7至10任一项所述的资源返回方法,其特征在于,根据所述编码后的域名地址更新所述资源,包括:
使用所述编码后的域名地址替换所述资源中的第二域名地址,获得更新后的所述资源。
12.根据权利要求11所述的资源返回方法,其特征在于,在接收资源服务器返回的响应消息之后,将所述资源中的第二域名地址进行编码,得到编码后的域名地址之前,还包括:
根据所述响应消息中携带的所述资源的类型标识,确定所述资源的类型为文本类型;
扫描所述资源,确定所述资源中包括有所述第二域名地址。
13.根据权利要求12所述的资源返回方法,其特征在于,扫描所述资源,确定所述资源中包括有所述第二域名地址,包括:
使用正则表达式扫描所述资源,若确定所述资源中的字符串与所述正则表达式相匹配,则确定所述资源中包括有所述第二域名地址,其中,所述正则表达式为预先设定的、具有所述第二域名地址的特征的字符串。
14.根据权利要求13所述的资源返回方法,其特征在于,将所述资源中的第二域名地址进行编码,得到编码后的域名地址,包括:
将所述第二域名地址中的圆点分隔符替换为特殊字符,获得替换后的域名地址,其中,所述特殊字符为国际域名允许的字符集中除圆点分隔符之外的任意一个;
根据所述替换后的域名地址和所述预设域名,确定所述编码后的域名地址。
15.根据权利要求14所述的资源返回方法,其特征在于,所述替换后的域名地址中包括:替换前缀和原路径信息;
根据所述替换后的域名地址和所述预设域名,确定所述编码后的域名地址,包括:
将所述替换后的域名地址与所述预设域名相叠加,获得所述编码后的域名地址,其中,所述编码后的域名地址依次为:所述替换前缀、所述预设域名和所述原路径信息。
16.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的资源获取方法。
17.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求7至15中任一所述的资源返回方法。
18.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一所述的资源获取方法。
19.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求7至15中任一所述的资源返回方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164233.8A CN109981595B (zh) | 2019-03-05 | 2019-03-05 | 一种资源获取方法、资源返回方法及服务器、存储介质 |
EP20726272.6A EP3734933B1 (en) | 2019-03-05 | 2020-02-12 | Resource acquisition method, server and storage medium |
PCT/CN2020/074947 WO2020177511A1 (zh) | 2019-03-05 | 2020-02-12 | 一种资源获取方法、资源返回方法及服务器、存储介质 |
US16/885,175 US20200287865A1 (en) | 2019-03-05 | 2020-05-27 | Method for acquiring resource, method for returning resource, server, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164233.8A CN109981595B (zh) | 2019-03-05 | 2019-03-05 | 一种资源获取方法、资源返回方法及服务器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981595A CN109981595A (zh) | 2019-07-05 |
CN109981595B true CN109981595B (zh) | 2022-04-12 |
Family
ID=67077932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910164233.8A Active CN109981595B (zh) | 2019-03-05 | 2019-03-05 | 一种资源获取方法、资源返回方法及服务器、存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3734933B1 (zh) |
CN (1) | CN109981595B (zh) |
WO (1) | WO2020177511A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981595B (zh) * | 2019-03-05 | 2022-04-12 | 网宿科技股份有限公司 | 一种资源获取方法、资源返回方法及服务器、存储介质 |
CN112019584B (zh) * | 2019-05-31 | 2022-05-31 | 阿里巴巴集团控股有限公司 | 资源访问控制方法、装置及计算机系统 |
CN110351294A (zh) * | 2019-07-22 | 2019-10-18 | 马佳鑫 | 一种实现IPv4网络和IPv6网络互通的系统 |
CN111343268B (zh) * | 2020-02-24 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 多媒体资源的下载方法、装置、服务器和电子设备 |
CN111736926A (zh) * | 2020-05-29 | 2020-10-02 | 北京慧博科技有限公司 | 在Java Web程序中低侵入式使用CDN加速服务的方法以及系统 |
CN112600950A (zh) * | 2020-12-09 | 2021-04-02 | 福建万物易联网络科技有限公司 | 一种短横杆格式的外链改写方法及系统 |
CN112579933B (zh) * | 2020-12-24 | 2023-12-08 | 中国农业银行股份有限公司 | 一种信息处理方法及装置 |
CN113312577B (zh) * | 2021-06-01 | 2024-06-25 | 平安证券股份有限公司 | 网页资源处理方法、装置、电子设备和存储介质 |
CN113542356A (zh) * | 2021-06-10 | 2021-10-22 | 上海甄汇信息科技有限公司 | 局域网内终端快速获取互联网资源的方法 |
US11811734B2 (en) * | 2021-06-17 | 2023-11-07 | Prosimo Inc | Protocol switching for connections to zero-trust proxy |
CN114710314B (zh) * | 2022-02-21 | 2023-06-06 | 深圳腾银信息咨询有限责任公司 | 一种配置化的软件服务平台访问方法、装置、系统及介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546850B (zh) * | 2010-12-08 | 2015-11-25 | 中国电信股份有限公司 | 支持IPv6的IPv4内容提供方法、装置及服务器 |
US9843554B2 (en) * | 2012-02-15 | 2017-12-12 | F5 Networks, Inc. | Methods for dynamic DNS implementation and systems thereof |
CN102694754A (zh) * | 2012-06-07 | 2012-09-26 | 广州睿哲网络科技有限公司 | 实现IPv4/IPv6网站内容互通的应用网关技术及系统 |
CN103856408A (zh) * | 2014-02-17 | 2014-06-11 | 中国科学院计算机网络信息中心 | 一种基于DNS的IPv6和IPv4互通信方法 |
CN103888554B (zh) * | 2014-03-24 | 2017-12-01 | 广州杰赛科技股份有限公司 | IPv4与IPv6互通的域名解析方法和系统 |
US10387443B2 (en) * | 2016-05-09 | 2019-08-20 | Sap Se | Exporting and importing database containers |
CN106230782A (zh) * | 2016-07-20 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种基于内容分发网络的信息处理方法及装置 |
CN111756815B (zh) * | 2016-09-19 | 2023-04-07 | 网宿科技股份有限公司 | 302跳转方法、跳转域名生成方法、域名解析方法及系统 |
CN106790503A (zh) * | 2016-12-16 | 2017-05-31 | 广东睿哲科技股份有限公司 | 一种基于HTTP反向代理实现无天窗的IPv4网站应用向IPv6升级的装置 |
CN107832329B (zh) * | 2017-09-26 | 2020-11-13 | 中国平安人寿保险股份有限公司 | 页面资源获取方法及终端设备 |
CN109981595B (zh) * | 2019-03-05 | 2022-04-12 | 网宿科技股份有限公司 | 一种资源获取方法、资源返回方法及服务器、存储介质 |
-
2019
- 2019-03-05 CN CN201910164233.8A patent/CN109981595B/zh active Active
-
2020
- 2020-02-12 WO PCT/CN2020/074947 patent/WO2020177511A1/zh unknown
- 2020-02-12 EP EP20726272.6A patent/EP3734933B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN109981595A (zh) | 2019-07-05 |
WO2020177511A1 (zh) | 2020-09-10 |
EP3734933A1 (en) | 2020-11-04 |
EP3734933B1 (en) | 2022-01-26 |
EP3734933A4 (en) | 2021-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981595B (zh) | 一种资源获取方法、资源返回方法及服务器、存储介质 | |
US20200287865A1 (en) | Method for acquiring resource, method for returning resource, server, and storage medium | |
US8321503B2 (en) | Context-specific network resource addressing model for distributed services | |
CN1606300B (zh) | 数据处理系统中分配图像的方法与系统 | |
CN101132420B (zh) | 一种基于ssl vpn的链接改写方法和设备 | |
US8910132B2 (en) | Client-side script bundle management system | |
CN110392130B (zh) | 基于网络的信息处理方法、电子设备及网络系统 | |
CN109729183B (zh) | 请求处理方法、装置、设备及存储介质 | |
CN104283723B (zh) | 网络访问日志处理方法及装置 | |
US20050027731A1 (en) | Compression dictionaries | |
US7711804B2 (en) | Methods and devices for the asynchronous delivery of digital data | |
CN111736775A (zh) | 多源存储方法、装置、计算机系统及存储介质 | |
US8396990B2 (en) | Transcoding web resources | |
CN109600385B (zh) | 一种访问控制方法及装置 | |
US20050138004A1 (en) | Link modification system and method | |
CN111277481B (zh) | 一种建立vpn隧道的方法、装置、设备及存储介质 | |
JP2005327154A (ja) | Htmlファイル処理方法及びプログラム | |
WO2022179353A1 (zh) | 域名解析方法、装置及计算机设备 | |
US8046367B2 (en) | Targeted distribution of search index fragments over a wireless communication network | |
CN103634393A (zh) | Ivr及其实现方法 | |
CN102882988A (zh) | 一种获得资源信息的地址信息的方法、装置及设备 | |
CN104143110A (zh) | 带网址信息的二维码生成方法 | |
CN108011934B (zh) | 一种处理资源数据的方法和装置 | |
CN103793459B (zh) | 一种网页打开方法及装置 | |
JP5774429B2 (ja) | 通信装置および通信方法、ならびに、プログラム |
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 |