CN111478974B - 网络连接方法及装置、电子设备和可读存储介质 - Google Patents
网络连接方法及装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN111478974B CN111478974B CN202010346735.5A CN202010346735A CN111478974B CN 111478974 B CN111478974 B CN 111478974B CN 202010346735 A CN202010346735 A CN 202010346735A CN 111478974 B CN111478974 B CN 111478974B
- Authority
- CN
- China
- Prior art keywords
- handshake
- client
- server
- message
- messages
- 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
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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种网络连接方法,应用于支持多种类型的传输协议的客户端,该方法包括:向服务端发送用于通信握手的一个或多个握手消息,其中,每个握手消息包括客户端支持的一种传输协议类型;接收由服务端发送的基于一个或多个握手消息生成的一个或多个响应消息,其中,每个响应消息具有对应的一个握手消息,每个响应消息包括用于表征服务端是否支持与响应消息对应的握手消息所包括的传输协议类型的消息;以及根据一个或多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接。本公开还提供了另一种网络连接方法、一种网络连接装置、一种电子设备和一种计算机可读存储介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种网络连接方法、一种网络连接装置、一种电子设备和一种计算机可读存储介质。
背景技术
随着通信和计算机技术的快速发展,用户越来越关心在网络上传输的数据的安全性。目前,在基于客户端与服务端进行通信交互时,为了通信安全,一般会利用某一协议标准下的加密算法对通信数据进行加密,避免他人轻易获得通信数据。
但是,客户端和服务端各自支持的协议类型可能不同,客户端可能使用服务端不支持的协议尝试与服务端进行网络连接,在对通信数据进行加密时也可能使用不同协议标准下的加密算法。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:在相关技术中,客户端可能使用服务端不支持的传输协议尝试与服务端进行网络连接,如果双方连接失败,需要用户手动切换客户端的协议,存在使用不方便的技术问题。
发明内容
有鉴于此,本公开提供了一种网络连接方法、一种网络连接装置、一种电子设备和一种计算机可读存储介质。
本公开的一个方面提供了一种网络连接方法,应用于支持多种类型的传输协议的客户端,上述方法包括:向服务端发送用于通信握手的一个或多个握手消息,其中,每个上述握手消息包括上述客户端支持的一种传输协议类型;接收由上述服务端发送的基于一个或多个上述握手消息生成的一个或多个响应消息,其中,每个上述响应消息具有对应的一个握手消息,每个上述响应消息包括用于表征上述服务端是否支持与上述响应消息对应的上述握手消息所包括的传输协议类型的消息;以及根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,上述向服务端发送用于通信握手的一个或多个握手消息包括:向上述服务端发送用于通信握手的第一个握手消息;在接收到的与上述第一个握手消息对应的响应消息表明上述服务端支持上述第一个握手消息所包括的传输协议类型的情况下,停止向上述服务端发送下一个握手消息;以及在接收到的与上述第一个握手消息对应的响应消息表明上述服务端不支持上述第一个握手消息所包括的传输协议类型的情况下,向上述服务端发送用于通信握手的第二个握手消息。
根据本公开的实施例,上述的方法还包括:在接收到的与上述第二个握手消息对应的响应消息表明上述服务端支持上述第二个握手消息所包括的传输协议类型的情况下,停止向上述服务端发送下一个握手消息;以及在接收到的与上述第二个握手消息对应的响应消息表明上述服务端不支持上述第二个握手消息所包括的传输协议类型的情况下,向上述服务端发送用于通信握手的第三个握手消息。
根据本公开的实施例,其中:上述向服务端发送用于通信握手的一个或多个握手消息包括:向上述服务端并行发送用于通信握手的多个握手消息;上述接收由上述服务端发送的基于一个或多个上述握手消息生成的一个或多个响应消息包括:接收由上述服务端发送的基于并行接收到的多个上述握手消息生成的多个响应消息;上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,其中:上述向服务端发送用于通信握手的一个或多个握手消息包括:向上述服务端发送用于通信握手的一个握手消息;上述接收由上述服务端发送的基于上述握手消息生成的一个或多个响应消息包括:接收由上述服务端发送的基于上述握手消息生成的一个响应消息,其中,上述响应消息包括用于表征上述服务端支持的传输协议类型的扩展字段;上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据上述一个响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,其中,上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据一个或多个上述响应消息确定上述客户端和上述服务端都支持的目标传输协议;确定与上述目标传输协议的类型相关联的密码算法;以及根据上述与上述目标传输协议的类型相关联的密码算法,在上述客户端和上述服务端之间建立基于上述目标传输协议的加密网络连接。
根据本公开的实施例,上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据多个上述响应消息确定上述客户端和上述服务端都支持的多个目标传输协议;以及根据多个上述目标传输协议的优先级顺序,确定用于在上述客户端和上述服务端之间建立网络连接时使用的最终传输协议。
本公开的另一方面提供了一种网络连接方法,应用于服务端,上述方法包括:接收由客户端发送的用于通信握手的一个或多个握手消息,其中,每个上述握手消息包括上述客户端支持的一种传输协议类型,其中,上述客户端支持多种类型的传输协议;向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息,其中,每个上述响应消息具有对应的一个握手消息,每个上述响应消息包括用于表征上述服务端是否支持与上述响应消息对应的上述握手消息所包括的传输协议类型的消息;以及根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,上述接收由客户端发送的用于通信握手的一个或多个握手消息包括:接收由上述客户端发送的用于通信握手的第一个握手消息;向上述客户端发送基于上述第一个握手消息生成的一个响应消息;其中,与上述第一个握手消息对应的响应消息用于在表明上述服务端支持上述第一个握手消息所包括的传输协议类型的情况下,上述客户端停止向上述服务端发送下一个握手消息;以及,与上述第一个握手消息对应的响应消息用于在表明上述服务端不支持上述第一个握手消息所包括的传输协议类型的情况下,上述客户端向上述服务端发送用于通信握手的第二个握手消息。
根据本公开的实施例,上述的方法还包括:接收由上述客户端发送的用于通信握手的第二个握手消息;向上述客户端发送基于上述第二个握手消息生成的一个响应消息;其中,与上述第二个握手消息对应的响应消息用于在表明上述服务端支持上述第二个握手消息所包括的传输协议类型的情况下,上述客户端停止向上述服务端发送下一个握手消息;以及,与上述第二个握手消息对应的响应消息用于在表明上述服务端不支持上述第二个握手消息所包括的传输协议类型的情况下,上述客户端向上述服务端发送用于通信握手的第三个握手消息。
根据本公开的实施例,其中:上述接收由客户端发送的用于通信握手的一个或多个握手消息包括:接收由上述客户端并行发送的用于通信握手的多个握手消息;上述向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息包括:向上述客户端发送基于并行接收到的多个上述握手消息生成的多个响应消息;上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,其中:上述接收由客户端发送的用于通信握手的一个或多个握手消息包括:接收由上述客户端发送的用于通信握手的一个握手消息;上述向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息包括:向上述客户端发送基于一个上述握手消息生成的一个响应消息,其中,上述响应消息包括用于表征上述服务端支持的传输协议类型的扩展字段;上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据一个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,其中,上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据一个或多个上述响应消息确定上述客户端和上述服务端都支持的目标传输协议;确定与上述目标传输协议的类型相关联的密码算法;以及根据上述与上述目标传输协议的类型相关联的密码算法,在上述客户端和上述服务端之间建立基于上述目标传输协议的加密网络连接。
根据本公开的实施例,其中,上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据多个上述响应消息确定上述客户端和上述服务端都支持的多个目标传输协议;以及根据多个上述目标传输协议的优先级顺序,确定用于在上述客户端和上述服务端之间建立网络连接时使用的最终传输协议。
本公开的另一方面提供了一种应用于支持多种类型的传输协议的客户端的网络连接装置,上述装置包括:第一发送模块,用于向服务端发送用于通信握手的一个或多个握手消息,其中,每个上述握手消息包括上述客户端支持的一种传输协议类型;第一接收模块,用于接收由上述服务端发送的基于一个或多个上述握手消息生成的一个或多个响应消息,其中,每个上述响应消息具有对应的一个握手消息,每个上述响应消息包括用于表征上述服务端是否支持与上述响应消息对应的上述握手消息所包括的传输协议类型的消息;以及第一创建模块,用于根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
本公开的另一方面提供了一种应用于服务端的网络连接装置,上述装置包括:第二接收模块,用于接收由客户端发送的用于通信握手的一个或多个握手消息,其中,每个上述握手消息包括上述客户端支持的一种传输协议类型,其中,上述客户端支持多种类型的传输协议;第二发送模块,用于向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息,其中,每个上述响应消息具有对应的一个握手消息,每个上述响应消息包括用于表征上述服务端是否支持与上述响应消息对应的上述握手消息所包括的传输协议类型的消息;以及第二创建模块,用于根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
通过本公开的实施例,支持多种类型的传输协议的客户端通过向服务端发送一个或多个握手消息,然后根据服务端反馈的响应信息自动选择客户端和服务端都支持的传输协议进行网络连接,使得可以根据服务器支持的传输协议自动选择对应的传输协议与服务器进行通信,无需用户手动切换客户端的协议,所以至少部分地克服了在客户端与服务端连接失败时,需要用户手动切换客户端的协议,存在使用不方便的技术问题,进而达到了提高网络连接效率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用网络连接方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的网络连接方法的流程图;
图3示意性示出了根据本公开实施例的客户端向服务端串行发送用于通信握手的一个或多个握手消息的流程图;
图4示意性示出了根据本公开实施例的客户端向服务端并行发送用于通信握手的多个握手消息的流程图;
图5示意性示出了根据本公开另一实施例的网络连接方法的流程图;
图6示意性示出了根据本公开实施例的根据一个或多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接的流程图;
图7示意性示出了根据本公开的实施例的应用于支持多种类型的传输协议的客户端的网络连接装置的框图;
图8示意性示出了根据本公开的实施例的应用于服务端的网络连接装置的框图;以及
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种网络连接方法,应用于支持多种类型的传输协议的客户端和服务端之间进行网络连接。客户端可以向服务端发送用于通信握手的一个或多个握手消息,其中,每个握手消息包括客户端支持的一种传输协议类型;服务端向客户端由发送基于一个或多个握手消息生成的一个或多个响应消息,其中,每个响应消息具有对应的一个握手消息,每个响应消息包括用于表征服务端是否支持与响应消息对应的握手消息所包括的传输协议类型的消息;客户端和服务端根据一个或多个响应消息建立客户端和服务端都支持的传输协议的网络连接。
图1示意性示出了根据本公开实施例的可以应用网络连接方法及装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有支持多种类型的传输协议的各种客户端,例如网页浏览器应用、搜索类应用、购物类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的网络连接方法的流程图。
该网络连接方法可以由支持多种类型的传输协议的客户端执行,如图2所示,该方法包括操作S201~S203。
在操作S201,向服务端发送用于通信握手的一个或多个握手消息,其中,每个握手消息包括客户端支持的一种传输协议类型。
根据本公开的实施例,客户端可以向服务端串行发送用于通信握手的一个或多个握手消息,或者,也可以向服务端并行发送用于通信握手的多个握手消息。
根据本公开的实施例,每个握手消息可以包括客户端支持的一种传输协议类型。例如,一个握手消息包括客户端支持的安全网络传输协议TLS(transport layersecurity,简称TLS),另一个握手消息可以包括客户端支持的用于国产密码的传输协议(简称国密协议)。当然,本公开客户端支持的传输协议类型并不限于此,其他用于网络加密连接的传输协议也可以作为本公开实施例的一部分。
根据本公开的实施例,握手消息除了可以包括客户端支持的传输协议类型之外,还可以包括客户端生成的随机数Random1和客户端支持的加密套件(Support Ciphers)等信息。
其中,客户端向服务端串行发送用于通信握手的一个或多个握手消息可以参照如图3所示。
图3示意性示出了根据本公开实施例的客户端向服务端串行发送用于通信握手的一个或多个握手消息的流程图。
如图3所示,该方法包括操作S301~S303。
在操作S301,向服务端发送用于通信握手的第一个握手消息。
根据本公开的实施例,在服务端接收到客户端发送的第一个握手消息之后,服务端对客户端进行响应,向客户端发送与第一个握手消息对应的响应消息。
根据本公开的实施例,响应消息可以包括用于表征服务端是否支持第一个握手消息所携带的传输协议类型的消息。
在操作S302,在接收到的与第一个握手消息对应的响应消息表明服务端支持第一个握手消息所包括的传输协议类型的情况下,停止向服务端发送下一个握手消息。
根据本公开的实施例,客户端和服务端各自支持的协议类型可能不同,客户端可能使用服务端不支持的协议尝试与服务端进行网络连接。
在操作S303,在接收到的与第一个握手消息对应的响应消息表明服务端不支持第一个握手消息所包括的传输协议类型的情况下,向服务端发送用于通信握手的第二个握手消息。
根据本公开的实施例,例如,客户端向服务端串行发两个握手消息Client Hello(如Client Hello A和Client Hello B),其中,Client Hello A可以携带支持国密协议的密码套件,Client Hello B可以携带支持TLS协议(transport layer security,简称TLS)的密码套件。
如果服务端支持国密协议,则可以在响应消息Server Hello里选择国密协议,此外,服务端还可以选择国密协议下的国密密码套件。如果服务端不支持国密协议,客户端则可以断开当前TCP连接,并向服务端发送Client Hello B,如果服务端支持TLS协议,可以在响应消息Server Hello里选择TLS协议,客户端与服务端建立TLS协议的网络连接。
根据本公开的实施例,如果客户端接收到的与第二个握手消息对应的响应消息表明,服务端支持第二个握手消息所包括的传输协议类型的情况下,可以停止向服务端发送下一个握手消息。
根据本公开的实施例,如果接收到的与第二个握手消息对应的响应消息表明,服务端不支持第二个握手消息所包括的传输协议类型的情况下,向服务端发送用于通信握手的第三个握手消息。第三个握手消息包括对应的传输协议类型。服务端可以判断自身是否支持第三个握手消息所包括的传输协议类型。
通过本公开的实施例,通过串行发送多个握手消息,可以在节省带宽的情况下,获取服务器对传输协议的支持情况。在客户端与服务端之间连接失败时,无需用户手动切换客户端的协议。
在操作S202,接收由服务端发送的基于一个或多个握手消息生成的一个或多个响应消息,其中,每个响应消息具有对应的一个握手消息,每个响应消息包括用于表征服务端是否支持与响应消息对应的握手消息所包括的传输协议类型的消息。
在操作S203,根据一个或多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接。
根据本公开的实施例,以客户端为浏览器为例,在相关技术中,现有浏览器存在着TLS加密算法和国密算法不兼容的问题,浏览器和服务端各自支持的协议类型可能不同,浏览器可能使用服务端不支持的协议尝试与服务端进行网络连接,导致连接失败。在此种情况下,如果想要浏览器与服务端进行正常地安全连接,要么需要用户手动切换传输协议,要么需要打包对应支持的版本,导致使用不方便。
通过本公开的实施例,支持多种类型的传输协议的客户端通过向服务端发送一个或多个握手消息,然后根据服务端反馈的响应信息自动选择客户端和服务端都支持的传输协议进行网络连接,使得可以根据服务器支持的传输协议自动选择对应的传输协议与服务器进行通信,无需用户手动切换客户端的协议,所以至少部分地克服了在客户端与服务端连接失败时,需要用户手动切换客户端的协议,存在使用不方便的技术问题,进而达到了提高网络连接效率的技术效果。
根据本公开的实施例,还可以在客户端缓存客户端和服务端都支持的传输协议。例如,通过host缓存探测结果,从而提高网络连接效率。
图4示意性示出了根据本公开实施例的客户端向服务端并行发送用于通信握手的多个握手消息的流程图。
如图4所示,该方法包括操作S401~S403。
在操作S401,向服务端并行发送用于通信握手的多个握手消息。根据本公开的实施例,操作S401可以是对操作S201的进一步说明。
根据本公开的实施例,例如,客户端可以向服务端同时发送用于通信握手的握手消息Client HelloA和Client HelloB,其中,Client Hello A包括客户端支持的第一种传输协议类型,Client Hello B包括客户端支持的第二种传输协议类型。
在操作S402,接收由服务端发送的基于并行接收到的多个握手消息生成的多个响应消息。根据本公开的实施例,操作S402可以是对操作S202的进一步说明。
根据本公开的实施例,服务端可以对并行接收到的多个握手消息分别进行响应,生成多个响应消息,并向客户端返回每个握手消息对应的响应消息。例如,服务器向客户端返回Server HelloA和Server HelloB,响应消息Server HelloA表征服务端不支持第一种传输协议类型;响应消息Server HelloB表征服务端支持第二种传输协议类型。
在操作S403,根据多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接。根据本公开的实施例,操作S403可以是对操作S203的进一步说明。
根据本公开的实施例,例如,由于响应消息Server HelloA表征服务端不支持第一种传输协议类型;响应消息Server HelloB表征服务端支持第二种传输协议类型,因此,可以在客户端和服务端之间建立客户端和服务端都支持的第二种传输协议的网络连接。
通过本公开的实施例,通过并行发送多个握手消息,可以高效率的获取服务器对传输协议的支持情况,能够提高连接的效率,避免冗余探测行为。在客户端与服务端之间连接失败时,无需用户手动切换客户端的协议。
图5示意性示出了根据本公开另一实施例的网络连接方法的流程图。
如图5所示,该方法包括操作S501~S503。
在操作S501,向服务端发送用于通信握手的一个握手消息。根据本公开的实施例,操作S501可以是对操作S201的进一步说明。
在操作S502,接收由服务端发送的基于握手消息生成的一个响应消息,其中,响应消息包括用于表征服务端支持的传输协议类型的扩展字段。根据本公开的实施例,操作S502可以是对操作S202的进一步说明。
根据本公开的实施例,服务端可以基于握手消息生成的一个响应消息,该响应消息包括用于表征服务端支持的传输协议类型的扩展字段。
在操作S503,根据一个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接。根据本公开的实施例,操作S503可以是对操作S203的进一步说明。
根据本公开的实施例,例如,客户端向服务端发送用于通信握手的一个握手消息,该握手消息包括客户端支持传输协议类型为X的传输协议的消息。服务端可以判断自身是否支持传输协议类型为X的传输协议。
如果服务端支持客户端支持的传输协议类型为X的传输协议,可以在响应消息中加入表征服务端支持的传输协议类型为X的扩展字段。
如果服务端不支持客户端支持的传输协议类型为X的传输协议,例如,服务端支持传输协议类型为Y的传输协议,可以在响应消息中加入表征服务端支持的传输协议类型为Y的扩展字段。
根据本公开的实施例,具体地,客户端可以向服务端发送包括TLS协议类型的握手消息Client Hello,服务端如果不支持TLS协议类型的传输协议,而是支持国密协议,则可以在响应消息Server Hello的扩展字段中添加一个gmsslsupport字段,客户端可以断开当前连接,并发送基于国密协议的网络连接。
图6示意性示出了根据本公开实施例的根据一个或多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接的流程图。
如图6所示,该方法包括操作S601~S603。
在操作S601,根据一个或多个响应消息确定客户端和服务端都支持的目标传输协议。
在操作S602,确定与目标传输协议的类型相关联的密码算法。
根据本公开的实施例,每种传输协议可以具有对应的一种或多种密码算法,密码算法可以包括加密算法和相应的解密算法。根据本公开的实施例,例如,传输协议X具有相关联的密码算法1~3,传输协议Y具有相关联的密码算法4~6。
在操作S603,根据与目标传输协议的类型相关联的密码算法,在客户端和服务端之间建立基于目标传输协议的加密网络连接。
根据本公开的实施例,可以从与目标传输协议的类型相关联的密码算法中随机选择一种密码算法在客户端和服务端之间建立加密网络连接。当然,也可以基于从与目标传输协议的类型相关联的密码算法中按照优先级顺序选择一种密码算法在客户端和服务端之间建立加密网络连接。
通过本公开的实施例,可以根据服务端支持的传输协议自动选择对应的密码算法与服务器通信,实现了在用户使用客户端过程中自动选择对应通信加密算法的能力。
根据本公开的实施例,如果根据多个响应消息确定客户端和服务端都支持的多个目标传输协议,可以根据多个目标传输协议的优先级顺序,确定用于在客户端和服务端之间建立网络连接时使用的最终传输协议。
根据本公开的实施例,可以在客户端预先设置不同传输协议的优先级。根据本公开的实施例,用户可以基于安全性高低手动设置不同传输协议的优先级,以提高数据传输的安全性。相比于相关技术中,用户无法设置传输协议的优先级而言,满足了用户的个性化设置需求,提高了用户体验。
本公开的另一方面提供了一种应用于服务端的网络连接方法,包括:接收由客户端发送的用于通信握手的一个或多个握手消息,其中,每个上述握手消息包括上述客户端支持的一种传输协议类型,其中,上述客户端支持多种类型的传输协议;向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息,其中,每个上述响应消息具有对应的一个握手消息,每个上述响应消息包括用于表征上述服务端是否支持与上述响应消息对应的上述握手消息所包括的传输协议类型的消息;以及根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,上述接收由客户端发送的用于通信握手的一个或多个握手消息包括:接收由上述客户端发送的用于通信握手的第一个握手消息;向上述客户端发送基于上述第一个握手消息生成的一个响应消息;其中,与上述第一个握手消息对应的响应消息用于在表明上述服务端支持上述第一个握手消息所包括的传输协议类型的情况下,上述客户端停止向上述服务端发送下一个握手消息;以及,与上述第一个握手消息对应的响应消息用于在表明上述服务端不支持上述第一个握手消息所包括的传输协议类型的情况下,上述客户端向上述服务端发送用于通信握手的第二个握手消息。
根据本公开的实施例,应用于服务端的网络连接方法还包括:接收由上述客户端发送的用于通信握手的第二个握手消息;向上述客户端发送基于上述第二个握手消息生成的一个响应消息;其中,与上述第二个握手消息对应的响应消息用于在表明上述服务端支持上述第二个握手消息所包括的传输协议类型的情况下,上述客户端停止向上述服务端发送下一个握手消息;以及,与上述第二个握手消息对应的响应消息用于在表明上述服务端不支持上述第二个握手消息所包括的传输协议类型的情况下,上述客户端向上述服务端发送用于通信握手的第三个握手消息。
根据本公开的实施例,其中:上述接收由客户端发送的用于通信握手的一个或多个握手消息包括:接收由上述客户端并行发送的用于通信握手的多个握手消息;上述向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息包括:向上述客户端发送基于并行接收到的多个上述握手消息生成的多个响应消息;上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,其中:上述接收由客户端发送的用于通信握手的一个或多个握手消息包括:接收由上述客户端发送的用于通信握手的一个握手消息;上述向上述客户端发送基于一个或多个上述握手消息生成的一个或多个响应消息包括:向上述客户端发送基于一个上述握手消息生成的一个响应消息,其中,上述响应消息包括用于表征上述服务端支持的传输协议类型的扩展字段;上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据一个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接。
根据本公开的实施例,其中,上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据一个或多个上述响应消息确定上述客户端和上述服务端都支持的目标传输协议;确定与上述目标传输协议的类型相关联的密码算法;以及根据上述与上述目标传输协议的类型相关联的密码算法,在上述客户端和上述服务端之间建立基于上述目标传输协议的加密网络连接。
根据本公开的实施例,其中,上述根据一个或多个上述响应消息在上述客户端和上述服务端之间建立上述客户端和上述服务端都支持的传输协议的网络连接包括:根据多个上述响应消息确定上述客户端和上述服务端都支持的多个目标传输协议;以及根据多个上述目标传输协议的优先级顺序,确定用于在上述客户端和上述服务端之间建立网络连接时使用的最终传输协议。
需要说明的是,关于应用于服务端的网络连接方法可以参考上述对应用于客户端的网络连接方法的描述,在此不再赘述。
图7示意性示出了根据本公开的实施例的应用于支持多种类型的传输协议的客户端的网络连接装置的框图。
如图7所示,应用于支持多种类型的传输协议的客户端的网络连接装置700包括第一发送模块710、第一接收模块720和第一创建模块730。
第一发送模块710用于向服务端发送用于通信握手的一个或多个握手消息,其中,每个握手消息包括客户端支持的一种传输协议类型。
第一接收模块720用于接收由服务端发送的基于一个或多个握手消息生成的一个或多个响应消息,其中,每个响应消息具有对应的一个握手消息,每个响应消息包括用于表征服务端是否支持与响应消息对应的握手消息所包括的传输协议类型的消息。
第一创建模块730用于根据一个或多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接。
需要说明的是,关于应用于支持多种类型的传输协议的客户端的网络连接装置700可以参考上述对应用于客户端的网络连接方法的描述,应用于支持多种类型的传输协议的客户端的网络连接装置700可以实现应用于客户端的网络连接方法,在此不再赘述。
图8示意性示出了根据本公开的实施例的应用于服务端的网络连接装置的框图。
如图8所示,应用于服务端的网络连接装置800包括第二接收模块810、第二发送模块820和第二创建模块830。
第二接收模块810用于接收由客户端发送的用于通信握手的一个或多个握手消息,其中,每个握手消息包括客户端支持的一种传输协议类型,其中,客户端支持多种类型的传输协议。
第二发送模块820用于向客户端发送基于一个或多个握手消息生成的一个或多个响应消息,其中,每个响应消息具有对应的一个握手消息,每个响应消息包括用于表征服务端是否支持与响应消息对应的握手消息所包括的传输协议类型的消息。
第二创建模块830用于根据一个或多个响应消息在客户端和服务端之间建立客户端和服务端都支持的传输协议的网络连接。
需要说明的是,关于应用于服务端的网络连接装置可以参考上述对应用于服务端的网络连接方法的描述,应用于服务端的网络连接装置可以实现应用于服务端的网络连接方法,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一发送模块710、第一接收模块720和第一创建模块730中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一发送模块710、第一接收模块720和第一创建模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一发送模块710、第一接收模块720和第一创建模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图9示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的计算机系统900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有系统900操作所需的各种程序和数据。处理器901、ROM 902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。系统900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (16)
1.一种网络连接方法,应用于支持多种类型的传输协议的客户端,所述方法包括:
基于预设发送方式,向服务端发送用于通信握手的一个或多个握手消息,其中,每个所述握手消息包括所述客户端支持的一种传输协议类型,当握手消息为多个时,所述预设发送方式为并行发送;
接收由所述服务端发送的基于一个或多个所述握手消息生成的一个或多个响应消息,其中,每个所述响应消息具有对应的一个握手消息,每个所述响应消息包括用于表征所述服务端是否支持与所述响应消息对应的所述握手消息所包括的传输协议类型的消息和用于表征所述服务端支持的传输协议类型的扩展字段中的任意一项;以及
根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接;
其中,所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:
根据一个或多个所述响应消息确定所述客户端和所述服务端都支持的目标传输协议;
确定与所述目标传输协议的类型相关联的密码算法;以及
根据所述与所述目标传输协议的类型相关联的密码算法,在所述客户端和所述服务端之间建立基于所述目标传输协议的加密网络连接。
2.根据权利要求1所述的方法,其中,在所述预设发送方式为串行发送的情况下,所述基于预设发送方式,向服务端发送用于通信握手的一个或多个握手消息包括:
向所述服务端发送用于通信握手的第一个握手消息;
在接收到的与所述第一个握手消息对应的响应消息表明所述服务端支持所述第一个握手消息所包括的传输协议类型的情况下,停止向所述服务端发送下一个握手消息;以及
在接收到的与所述第一个握手消息对应的响应消息表明所述服务端不支持所述第一个握手消息所包括的传输协议类型的情况下,向所述服务端发送用于通信握手的第二个握手消息。
3.根据权利要求2所述的方法,还包括:
在接收到的与所述第二个握手消息对应的响应消息表明所述服务端支持所述第二个握手消息所包括的传输协议类型的情况下,停止向所述服务端发送下一个握手消息;以及
在接收到的与所述第二个握手消息对应的响应消息表明所述服务端不支持所述第二个握手消息所包括的传输协议类型的情况下,向所述服务端发送用于通信握手的第三个握手消息。
4.根据权利要求1所述的方法,其中:在所述预设发送方式为所述并行发送的情况下,所述基于预设发送方式,向服务端发送用于通信握手的一个或多个握手消息包括:向所述服务端并行发送用于通信握手的多个握手消息;
所述接收由所述服务端发送的基于一个或多个所述握手消息生成的一个或多个响应消息包括:接收由所述服务端发送的基于并行接收到的多个所述握手消息生成的多个响应消息,其中,每个所述响应消息包括用于表征所述服务端是否支持与所述响应消息对应的所述握手消息所包括的传输协议类型的消息;
所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:根据多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接。
5.根据权利要求1所述的方法,其中:
在所述预设发送方式为串行发送的情况下,所述基于预设发送方式,向服务端发送用于通信握手的一个或多个握手消息包括:向所述服务端发送用于通信握手的一个握手消息;
所述接收由所述服务端发送的基于所述握手消息生成的一个或多个响应消息包括:接收由所述服务端发送的基于所述握手消息生成的一个响应消息,其中,所述响应消息包括用于表征所述服务端支持的传输协议类型的扩展字段;
所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:根据所述一个响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接。
6.根据权利要求1所述的方法,其中,所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:
根据多个所述响应消息确定所述客户端和所述服务端都支持的多个目标传输协议;以及
根据多个所述目标传输协议的优先级顺序,确定用于在所述客户端和所述服务端之间建立网络连接时使用的最终传输协议。
7.一种网络连接方法,应用于服务端,所述方法包括:
接收由客户端基于预设发送方式发送的用于通信握手的一个或多个握手消息,其中,每个所述握手消息包括所述客户端支持的一种传输协议类型,其中,所述客户端支持多种类型的传输协议,当握手消息为多个时,所述预设发送方式为并行发送;
向所述客户端发送基于一个或多个所述握手消息生成的一个或多个响应消息,其中,每个所述响应消息具有对应的一个握手消息,每个所述响应消息包括用于表征所述服务端是否支持与所述响应消息对应的所述握手消息所包括的传输协议类型的消息和用于表征所述服务端支持的传输协议类型的扩展字段中的任意一项;以及
根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接;
其中,所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:
根据一个或多个所述响应消息确定所述客户端和所述服务端都支持的目标传输协议;
确定与所述目标传输协议的类型相关联的密码算法;以及
根据所述与所述目标传输协议的类型相关联的密码算法,在所述客户端和所述服务端之间建立基于所述目标传输协议的加密网络连接。
8.根据权利要求7所述的方法,其中,在所述预设发送方式为串行发送的情况下,所述接收由客户端基于预设发送方式发送的用于通信握手的一个或多个握手消息包括:
接收由所述客户端发送的用于通信握手的第一个握手消息;
向所述客户端发送基于所述第一个握手消息生成的一个响应消息;
其中,与所述第一个握手消息对应的响应消息用于在表明所述服务端支持所述第一个握手消息所包括的传输协议类型的情况下,所述客户端停止向所述服务端发送下一个握手消息;以及,与所述第一个握手消息对应的响应消息用于在表明所述服务端不支持所述第一个握手消息所包括的传输协议类型的情况下,所述客户端向所述服务端发送用于通信握手的第二个握手消息。
9.根据权利要求8所述的方法,还包括:
接收由所述客户端发送的用于通信握手的第二个握手消息;
向所述客户端发送基于所述第二个握手消息生成的一个响应消息;
其中,与所述第二个握手消息对应的响应消息用于在表明所述服务端支持所述第二个握手消息所包括的传输协议类型的情况下,所述客户端停止向所述服务端发送下一个握手消息;以及,与所述第二个握手消息对应的响应消息用于在表明所述服务端不支持所述第二个握手消息所包括的传输协议类型的情况下,所述客户端向所述服务端发送用于通信握手的第三个握手消息。
10.根据权利要求7所述的方法,其中:
在所述预设发送方式为所述并行发送的情况下,所述接收由客户端基于预设发送方式发送的用于通信握手的一个或多个握手消息包括:接收由所述客户端并行发送的用于通信握手的多个握手消息;
所述向所述客户端发送基于一个或多个所述握手消息生成的一个或多个响应消息包括:向所述客户端发送基于并行接收到的多个所述握手消息生成的多个响应消息,其中,每个所述响应消息包括用于表征所述服务端是否支持与所述响应消息对应的所述握手消息所包括的传输协议类型的消息;
所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:根据多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接。
11.根据权利要求7所述的方法,其中:
在所述预设发送方式为串行发送的情况下,所述接收由客户端基于预设发送方式发送的用于通信握手的一个或多个握手消息包括:接收由所述客户端发送的用于通信握手的一个握手消息;
所述向所述客户端发送基于一个或多个所述握手消息生成的一个或多个响应消息包括:向所述客户端发送基于一个所述握手消息生成的一个响应消息,其中,所述响应消息包括用于表征所述服务端支持的传输协议类型的扩展字段;
所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:根据一个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接。
12.根据权利要求7所述的方法,其中,所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:
根据多个所述响应消息确定所述客户端和所述服务端都支持的多个目标传输协议;以及
根据多个所述目标传输协议的优先级顺序,确定用于在所述客户端和所述服务端之间建立网络连接时使用的最终传输协议。
13.一种网络连接装置,应用于支持多种类型的传输协议的客户端,所述装置包括:
第一发送模块,用于基于预设发送方式,向服务端发送用于通信握手的一个或多个握手消息,其中,每个所述握手消息包括所述客户端支持的一种传输协议类型,当握手消息为多个时,所述预设发送方式为并行发送;
第一接收模块,用于接收由所述服务端发送的基于一个或多个所述握手消息生成的一个或多个响应消息,其中,每个所述响应消息具有对应的一个握手消息,每个所述响应消息包括用于表征所述服务端是否支持与所述响应消息对应的所述握手消息所包括的传输协议类型的消息和用于表征所述服务端支持的传输协议类型的扩展字段中的任意一项;以及
第一创建模块,用于根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接;
其中,所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:
根据一个或多个所述响应消息确定所述客户端和所述服务端都支持的目标传输协议;
确定与所述目标传输协议的类型相关联的密码算法;以及
根据所述与所述目标传输协议的类型相关联的密码算法,在所述客户端和所述服务端之间建立基于所述目标传输协议的加密网络连接。
14.一种网络连接装置,应用于服务端,所述装置包括:
第二接收模块,用于接收由客户端基于预设发送方式发送的用于通信握手的一个或多个握手消息,其中,每个所述握手消息包括所述客户端支持的一种传输协议类型,其中,所述客户端支持多种类型的传输协议,当握手消息为多个时,所述预设发送方式为并行发送;
第二发送模块,用于向所述客户端发送基于一个或多个所述握手消息生成的一个或多个响应消息,其中,每个所述响应消息具有对应的一个握手消息,每个所述响应消息包括用于表征所述服务端是否支持与所述响应消息对应的所述握手消息所包括的传输协议类型的消息和用于表征所述服务端支持的传输协议类型的扩展字段中的任意一项;以及
第二创建模块,用于根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接;
其中,所述根据一个或多个所述响应消息在所述客户端和所述服务端之间建立所述客户端和所述服务端都支持的传输协议的网络连接包括:
根据一个或多个所述响应消息确定所述客户端和所述服务端都支持的目标传输协议;
确定与所述目标传输协议的类型相关联的密码算法;以及
根据所述与所述目标传输协议的类型相关联的密码算法,在所述客户端和所述服务端之间建立基于所述目标传输协议的加密网络连接。
15.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至12中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010346735.5A CN111478974B (zh) | 2020-04-27 | 2020-04-27 | 网络连接方法及装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010346735.5A CN111478974B (zh) | 2020-04-27 | 2020-04-27 | 网络连接方法及装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111478974A CN111478974A (zh) | 2020-07-31 |
CN111478974B true CN111478974B (zh) | 2023-10-13 |
Family
ID=71761795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010346735.5A Active CN111478974B (zh) | 2020-04-27 | 2020-04-27 | 网络连接方法及装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111478974B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333161A (zh) * | 2020-10-23 | 2021-02-05 | 浪潮电子信息产业股份有限公司 | 一种网络安全预防方法、系统、装置及计算机可读存储介质 |
CN112615822B (zh) * | 2020-12-03 | 2022-06-10 | 北京皮尔布莱尼软件有限公司 | 一种消息处理方法、装置、计算设备及可读存储介质 |
CN116760878B (zh) * | 2023-08-21 | 2023-12-01 | 每日互动股份有限公司 | 一种网络连接和传输的处理方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156120A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 加密传输数据、加密协议控制及被探测的方法、装置及系统 |
CN108429620A (zh) * | 2018-01-25 | 2018-08-21 | 新华三技术有限公司 | 安全连接的建立方法、系统、以及客户端和服务端 |
CN108566361A (zh) * | 2018-01-05 | 2018-09-21 | 武汉信安珞珈科技有限公司 | 一种基于ssl/tls协议的安全参数协商方法和系统 |
CN108650227A (zh) * | 2018-03-30 | 2018-10-12 | 苏州科达科技股份有限公司 | 基于数据报安全传输协议的握手方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9787643B2 (en) * | 2015-01-30 | 2017-10-10 | Facebook, Inc. | Transport layer security latency mitigation |
-
2020
- 2020-04-27 CN CN202010346735.5A patent/CN111478974B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156120A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 加密传输数据、加密协议控制及被探测的方法、装置及系统 |
CN108566361A (zh) * | 2018-01-05 | 2018-09-21 | 武汉信安珞珈科技有限公司 | 一种基于ssl/tls协议的安全参数协商方法和系统 |
CN108429620A (zh) * | 2018-01-25 | 2018-08-21 | 新华三技术有限公司 | 安全连接的建立方法、系统、以及客户端和服务端 |
CN108650227A (zh) * | 2018-03-30 | 2018-10-12 | 苏州科达科技股份有限公司 | 基于数据报安全传输协议的握手方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111478974A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111478974B (zh) | 网络连接方法及装置、电子设备和可读存储介质 | |
CN112150141A (zh) | 一种区块链共识方法、装置和系统 | |
WO2020220536A1 (zh) | 一种数据备份的方法、装置及计算机可读存储介质 | |
CN108880812B (zh) | 数据加密的方法和系统 | |
TW201702927A (zh) | 管理機架伺服器系統之安全金鑰的方法與系統 | |
CN109154968B (zh) | 用于组织内的安全且高效的通信的系统和方法 | |
CN110377440B (zh) | 信息处理方法和装置 | |
CN113364795B (zh) | 一种数据传输方法和代理服务器 | |
CN114826733B (zh) | 文件传输方法、装置、系统、设备、介质以及程序产品 | |
CN113438256B (zh) | 一种基于双层ssl的数据传输方法、系统和代理服务器 | |
CN113630412B (zh) | 资源下载方法、资源下载装置、电子设备以及存储介质 | |
CN111163102B (zh) | 数据处理方法及装置、网络设备、可读存储介质 | |
US9288189B2 (en) | Retrieving both sensitive and non-sensitive content in a secure manner | |
CN113132400A (zh) | 业务处理方法、装置、计算机系统及存储介质 | |
CN112187726A (zh) | 数据传输方法、装置、存储介质及终端 | |
CN111600787A (zh) | 信息处理方法、装置、电子设备和介质 | |
CN114257632B (zh) | 断线重连的方法、装置、电子设备及可读存储介质 | |
CN113243093A (zh) | 用于使用区块链的消息传输和检索的系统和方法 | |
CN111984613B (zh) | 一种共享文件的方法、装置和系统 | |
CN114793178A (zh) | 配网方法和装置 | |
CN113190812A (zh) | 一种登录方法、系统、电子设备及存储介质 | |
CN110808993A (zh) | 数据传输控制方法、装置、计算机系统和介质 | |
CN112905990A (zh) | 一种访问方法、客户端、服务端及访问系统 | |
CN111416852A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN113676482B (zh) | 数据传输系统和方法与基于双层ssl的数据传输系统和方法 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: Qianxin Technology Group Co.,Ltd. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: Qianxin Technology Group Co.,Ltd. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |