域名获取方法、网站访问方法及服务器与流程

文档序号:15152084发布日期:2018-08-10 21:14阅读:1127来源:国知局

本发明实施方式涉及互联网技术领域,特别涉及域名获取方法、网站访问方法及服务器。



背景技术:

随着计算机和互联网的飞速发展,用户注册、用户登录、在线调查、订单管理等已成为大部分网站的基本功能,这类功能的共性是具有良好的交互性、需要实时回源,属于动态内容。在网站中,动态内容的应用范围很广,如,论坛,网银,邮箱等。动态内容的实时回源特性,增加了缓存难度,随着动态内容的不断普及,越来越多的资源只能通过线路直接回源,增加了带宽成本的投入,给网络运营商带来了巨大挑战。因此,在提高用户感知的前提下,带宽成本的优化也成为网络运营商考虑的重点,代理服务器应运而生。

但是,本专利申请的发明人发现现有技术至少存在如下缺陷:

现有技术中http协议的网站安全性较低,页面被劫持、被插入广告等非网站信息的情况逐步增多,严重影响了用户的上网体验,为此启用https加密协议的网站越来越多。但是,https协议的报文具有加密特性,代理服务器无法通过获取http报文所请求的域名的方式,来获取https报文所请求的域名,如此一来,代理服务器无法直接通过客户端所请求的域名来进行流量的管理,现有技术中的流量引导机制完全失灵。



技术实现要素:

本发明实施方式的目的在于提供一种域名获取方法、网站访问方法及服务器,使得服务器能够获取https报文所请求的域名,保证了现有技术中流量引导机制的正常运行。

为解决上述技术问题,本发明的实施方式提供了一种域名获取方法,包括:服务器接收客户端的https协议的网络请求信息;基于网络请求信息获取客户端的数字认证信息;解析数字认证信息中的预设字段,获取域名。

本发明的实施方式还提供了一种网站访问方法,应用于服务器,该方法包括:

接收客户端的网络请求信息;检测网络请求信息是否为https协议的网络请求信息;如果网络请求信息为https协议的网络请求信息,则基于上述的域名获取方法,获取客户端请求的域名;如果客户端请求的域名为预设域名,则获取预设域名对应的线路配置条件;根据线路配置条件配置回源线路,并通过回源线路获取网络请求信息对应的响应信息;将响应信息反馈给客户端。

本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的域名获取方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时能够实现上述的域名获取方法。

本发明实施方式中的域名获取方法相对于现有技术而言,服务器在接收到来自客户端的https协议的网络请求信息时,能够基于这一网络请求信息,获取客户端的数字认证信息,以便于通过解析该数字认证信息的中安全协议报文的预设字段的方式,来获取客户端所请求的域名。这样,无论服务器接收到的网络请求信息是https网络请求信息还是http网络请求信息,服务器均能够通过获取客户端所请求的域名的方式,来进行流量的管理,有效地保证了现有技术中流量引导机制或分析的正常运行。

优选地,基于网络请求信息获取客户端的数字认证信息,具体包括:服务器基于网络请求信息,向客户端发起传输控制协议tcp(transmissioncontrolprotocol,简称“tcp”)连接,并在连接成功后,接收客户端发送的数字认证信息。这样,提供了服务器基于网络请求信息获取客户端的数字认证信息的一种具体实现形式,增加了本发明实施方式的灵活性。

优选地,服务器基于网络请求信息,向客户端发起tcp连接,具体包括:服务器从网络请求信息中解析获得客户端请求的目的ip地址,并模拟目的ip地址对应的源站向客户端发起tcp连接。这样,服务器能够模拟源站与客户端进行交互,从而能够令客户端感知不到服务器的存在,达到“透明代理”的目的。

优选地,解析数字认证信息中的预设字段,获取域名,具体包括:获取数字认证信息中的数安全协议报文;解析安全协议报文中的服务器名称指示字段,获取域名。这样,提供了通过解析出预设字段,获取域名的一种具体实现形式,增加了本发明实施方式的灵活性。

优选地,服务器接收客户端的https协议的网络请求信息前,还包括:通过网络连接设备将客户端的网络访问请求引导至服务器。其中,网络连接设备可以包含网卡、路由器、交换机等。这样,通过网络连接设备将客户端的网络访问请求信息转发给服务器,无需对客户端进行额外配置,以实现透明代理机制。

本发明实施方式中的网站访问方法相对于现有技术而言,无论服务器接收到的网络请求信息是https网络请求信息还是http网络请求信息,服务器均能够获取客户端所请求的域名,并且,服务器内存储有一个或多个预设域名,服务器在获取客户端所请求域名后,能够检测所请求的域名是否为预设域名,如果所请求的域名为预设域名,服务器就根据预设域名,获取对应的线路配置条件,以选择出较为合适的回源线路,并通过该回源线路与源站进行交互,以便于从源站获取网络请求信息对应的响应信息。通过这种方式,服务器能够根据客户端所请求的域名,分配合适的回源线路进行源站的访问,相当于利用服务器建立了客户端和源站之间的较为合适的数据传输线路,不仅为缓解网站访问质量差、网络延时高的问题提供了基础,而且能够控制网络运营商在优化带宽上的成本。

优选地,在网站访问方法中,获取预设域名对应的线路配置条件,具体包括:获取预设域名的访问热度;根据访问热度,获取预设域名的热度等级;获取热度等级对应的线路配置条件。这样,提供了获取预设域名对应的线路配置条件的一种具体实现形式,增加了本发明实施方式的灵活性。并且,服务器将域名的当前访问热度作为获取线路配置条件的参考依据,能够设置出与该域名当前情况较为适合、贴切的线路配置条件。

优选地,在网站访问方法中,将响应信息反馈给客户端,具体包括:将响应消息的源ip地址修改为网络请求信息中解析的目的ip地址,从而令用户全程都感知不到服务器的存在,达到“透明代理”的目的。

优选地,在网站访问方法中,线路配置条件包括以下条件其中之一或任意组合:回源线路的网络丢包率小于预设比率、回源线路的网络延时小于预设阈值,从而能够选择出优质的回源线路,或者根据实际需求配置相应质量的线路。

附图说明

一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据第一较佳实施方式的域名获取方法的具体流程图;

图2是根据第三实施方式的网站访问方法的具体流程图;

图3是根据第四实施方式的服务器的示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种域名获取方法,具体流程如图1所示,步骤如下:

步骤101,服务器接收客户端的https协议的网络请求信息。

本发明的实施例中,可以在客户端中配置服务器的ip地址,并将该ip地址对应的服务器设置为代理服务器,以便于客户端的https协议的网络请求信息能够发送至服务器,服务器通过相应的接口接收该些网络请求信息。

可选的,还可以预先在网络连接设备中配置路由策略,以便于客户端的流量到达网络连接设备时,网络连接设备能够根据预先设定的路由策略,将该些流量引导至服务器,从而实现服务器接收到客户端的https协议的网络请求信息。这样,无需对客户端进行额外的设置,不仅减少了工作量,节省了客户端内存空间的使用,而且可用于实现透明代理机制。

需要注意的是,路由策略可基于实际需求设定,如,可以设定网络连接设备将接收到的客户端流量进行区分处理,只将需要进行加速代理的流量引导至服务器,其他流量可按照默认路径直接进行转发,以能够满足用户的个性化上网需求。其中,可以基于源ip地址、目的ip地址或协议类型进行路由策略的设定,网络连接设备包含本地网卡、路由器或交互机等。

步骤102,基于网络请求信息获取客户端的数字认证信息。

具体地说,网络请求信息可以包括握手请求,服务器基于网络请求信息中的握手请求,与客户端进行握手校验,若服务器与客户端握手成功,则服务器与客户端建立连接,以便于服务器通过与客户端建立的连接,接收客户端发起的数字认证信息。如,服务器可以基于网络请求信息,向客户端发起tcp连接,并在连接成功后,接收客户端发送的数字认证信息,例如基于安全套接层ssl(securesocketslayer,简称“ssl”)协议或传输层安全tls(transportlayersecurity,简称“tls”)协议的数字认证信息。

步骤103,解析数字认证信息中的预设字段,获取域名。

其中,预设字段可以为服务器名称指示sni(servernameindication,简称“sni”)字段。

更具体地说,客户端在与服务器成功建立tcp连接之后,将会基于ssl或tls协议与服务器进行数字认证信息的交互,其中,客户端会先向服务器发送安全协议报文,即clienthello报文,在本发明的实施例中,服务器可通过接收并解析安全协议报文中的sni字段的方式,来获取客户端请求访问的域名信息。

与现有技术相比,本实施方式中,服务器在接收到来自客户端的https协议的网络请求信息时,能够基于这一网络请求信息,获取客户端的数字认证信息,以便于通过解析该数字认证信息中安全协议报文的预设字段的方式,来获取客户端所请求的域名。这样,无论服务器接收到的网络请求信息是https网络请求信息还是http网络请求信息,服务器均能够通过获取客户端所请求的域名的方式,来进行流量的管理,有效地保证了现有技术中流量引导机制的正常运行。

本发明第二实施方式涉及一种域名获取方法。第二实施方式在第一实施方式的基础上加以改进,主要改进之处在于:在本发明第二实施方式中,服务器能够模拟源站与客户端进行交互,能够达到“透明代理”的目的。

具体地说,服务器在基于网络请求信息,向客户端发起tcp连接请求时,服务器可从网络请求信息中解析获得客户端请求的目的ip地址,并将tcp连接请求中的源ip地址修改为该目的ip地址,以实现模拟源站向客户端发起tcp连接请求,这样,客户端便会认为当前与自己交互、建立连接的服务器为源站服务器,即,服务器能够模拟源站与客户端进行交互,从而能够令用户感知不到服务器的存在,达到“透明代理”的目的。

本发明的第三实施方式涉及一种网站访问方法,具体流程如图2所示。本实施方式中的网站访问方法在服务器上进行实施,步骤如下:

步骤201,接收客户端的网络请求信息。

其中在本实施例中,服务器接收客户端的网络请求的具体方法与第一实施方式中的步骤101大致相同,故不再赘述。步骤203至步骤204与第一实施方式中的步骤102至步骤103大致相同,为减少重复,在此不再赘述,以下仅对不同部分进行说明:

步骤202,检测网络请求信息是否为https协议的网络请求信息。

若网络请求信息为https协议的网络请求信息,那么执行步骤203和步骤204,其中,步骤203和步骤204分别与本发明中第一实施例的步骤102和步骤103相同,故不再赘述。

若检测网络请求信息的判断结果为否时,那么执行步骤209和步骤210。其中,在执行步骤210时,说明服务器接收到的网络请求信息为http的网络请求信息。由于http请求是明文请求,因此服务器可以直接从网络请求信息中获取域名。

通过上述处理,无论客户端发送的网络请求信息是基于http协议还是https协议,服务器都可获知客户端所请求的域名信息。

步骤205,检测获取的域名是否为预设域名。若是,则执行步骤206。否则结束本流程。

具体地说,服务器中设有域名列表,该域名列表中记录了一个或多个预设域名。服务器判断客户端请求的域名是否在域名列表中,如果客户端请求的域名在域名列表中,则步骤205的判断结果为是。其中,域名列表中的各预设域名可以是5预设的,也可以为服务器自动生成的。如,服务器记录客户端每次发送的网络请求信息中的域名,统计各域名的请求次数,将请求次数较多的域名设置为预设域名。如,服务器将请求次数排名在前n内的域名设置为预设域名,或请求次数大于预设次数的域名设置为预设域名。其中,n为正整数,n的数值可以由用户或技术人员预设,如n可以为5,预设次数也可以由技术人员预设。

需要注意的是,在步骤205的判断结果为否,即,域名不为预设域名时,服务器也可以按照一定的规则,对域名进行引导或丢弃,实现为用户的网络访问提供代理服务。即,本实施方式中并不对步骤205的判断结果为否时,服务器后续执行的步骤做限定。

步骤206,获取预设域名对应的线路配置条件。

具体地说,域名列表中还可以包括预设域名与线路配置条件的对应关系,服务器通过查询域名列表的方式,获取预设域名对应的线路配置条件。其中,线路配置条件可以包括以下条件其中之一或任意组合:回源线路的网络丢包率小于预设比率、回源线路的网络延时小于预设阈值。这样,能够令服务器筛选出网络质量较好、网络延时低,且网络稳定性好的回源线路。其中,预设阈值、预设比率可以由技术人员预先设置并保存在服务器中。

需要注意的是,上述对线路配置条件的举例仅作为示例性说明,本实施方式中并不对线路配置条件的具体形式做任何限定,在实际应用时,线路配置条件可以根据实际需求设置。

更具体地说,服务器还可以根据所统计的客户端对域名的请求次数,设置线路配置条件。如,服务器将请求次数最高的域名对应的线路配置条件设置为:网络延时小于预设阈值,且网络丢包率小于预设比率,从而能够保证网络延时低,且网络稳定性好,给用户提供较为优质的网络服务器。如,服务器将请求次数最低的域名对应的线路配置条件设置为:网络延时小于预设阈值,从而能够保证网络延时低,给用户提供较为基础的网络服务。这样,服务器能够根据用户的使用习惯,提供较为符合用户需求的网络服务,用户体验较好。

本实施方式中,服务器获取预设域名的访问热度,以便于根据访问热度,获取预设域名的热度等级,从而获取热度等级对应的线路配置条件。

具体地说,服务器可以将最高热度等级对应的线路配置条件设置为:网络延时小于预设阈值,且网络丢包率小于预设比率,从而能够保证网络延时低,且网络稳定性好,给用户提供较为优质的网络服务器。如,服务器可以将最低热度等级的线路配置条件设置为:网络延时小于预设阈值,从而能够保证网络延时低,给用户提供较为基础的网络服务。

更具体地说,服务器根据访问热度,获取预设域名的热度等级时,可以获取访问热度所处的热度区间,从而获取该热度区间对应的热度等级。其中,访问热度可以根据预设域名所对应的网站的搜索量、点击量或访问量获得,访问热度可以为域名的即时访问热度。这样,服务器将域名的当前访问热度作为获取线路配置条件的参考依据,能够设置出与该域名当前情况较为适合、贴切的线路配置条件。在实际操作时,访问热度也可以为域名在一定时段内的平均访问热度,即,本实施方式并不对访问热度的实现形式做任何限定。

步骤207,根据线路配置条件配置回源线路,并通过回源线路获取网络请求信息对应的响应信息。

具体地说,服务器根据线路配置条件,选择符合线路配置条件的回源线路。并且,当服务器根据线路配置条件获取到的符合条件的回源线路大于1时,服务器可以随机从中选择一条回源线路。当服务器根据线路配置条件获取到的符合条件的回源线路小于1时,服务器可以获取当前处于闲置状态的质量最好的回源线路。

本实施方式中,服务器从网络请求信息中解析获得客户端请求的目的ip地址,并通过所选定的回源线路访问目的ip地址,与源站建立连接。并且,服务器将客户端发送的网络请求信息发送至源站,以便于接收源站反馈的响应信息。

步骤208,将响应信息反馈给客户端。

具体地说,服务器通过与客户端建立的tcp协议的连接,将响应信息反馈给客户端。本实施方式中,服务器在将响应信息反馈给客户端时,会将响应消息的源ip地址修改为客户端请求的目的ip地址,从而令用户全程感知不到服务器的存在,达到“透明代理”的目的。

值得一提的是,服务器在将响应信息反馈给客户端后,还可以判断是否在预设时长内接收到客户端针对源站的请求信息。若服务器判定在预设时长内未接收到客户端针对源站的请求信息,则服务器可以认定客户端与源站之间暂时不用数据传输。此时,服务器与源站断开连接。其中,预设时长可以由技术开发人员预先设置并保存在服务器中。这样,能够避免服务器长期被不必要的网络链路占用其内部资源。

本发明的实施方式相对于现有技术而言,无论服务器接收到的网络请求信息是https网络请求信息还是http网络请求信息,服务器均能够获取客户端所想要请求的域名。并且,服务器内存储有一个或多个预设域名,服务器在获取客户端所想要请求域名后,能够检测所请求的域名是否为预设域名,如果所请求的域名为预设域名,则服务器就获取预设域名对应的线路配置条件,以选择较为合适的回源线路,并通过该回源线路与源站进行交互,以便于从源站获取网络请求信息对应的响应信息。通过这种方式,服务器能够根据客户端所请求的域名,分配合适的回源线路进行源站的访问,相当于利用服务器建立了客户端和源站之间的较为合适的数据传输线路,不仅为缓解网站访问质量差、网络延时高的问题提供了基础,而且能够控制网络运营商在优化带宽上的成本,实现了客户端网站访问流量的精确识别以及疏导。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第四实施方式涉及一种服务器,如图3所示,包括至少一个处理器301;以及,与所述至少一个处理器301通信连接的存储器302;其中,所述存储器302存储有可被所述至少一个处理器301执行的指令,所述指令被所述至少一个处理器301执行,以使所述至少一个处理器301能够执行上述方法实施方式中的域名获取方法。

其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。

处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。

本发明的实施方式相对于现有技术而言,服务器能够获取https报文所请求的域名,保证了现有技术中流量引导机制的正常运行。

本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施方式中的域名获取方法。

本发明的实施方式相对于现有技术而言,服务器能够获取https报文所请求的域名,保证了现有技术中流量引导机制的正常运行。

即,本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1