TCP/UDP的原理,HTTPS加密

Tcp 和UDP是我们通讯网络中最基本的通讯协议了,这块是互联通讯的基础,他们的安全,关系到整个互联网基础,比如我们常用的DNS,HTTP,HTTPS都是基于TCP,UDP协议基础规划的。

TCP/UDP的实现原理:

(1)TCP是面向连接的,每次接收和发送依赖于三次握手。而UDP是面向于无连接的。

(2)TCP每次发送需要经过3次握手,所以比较可靠,能保证数据的稳定性。而UDP只管快速发送,不管是否到达,可能丢包。

(3)TCP会维护消息的有序性,而UDP不会。

(4)TCP由于需要握手,也需要传输除了消息之外的一些参数,所以对系统的消耗比较大,而UDP不需要握手,所以对系统资源的依赖比较小。

(5)TCP需要握手,所以速度比较慢;UDP速度比较快。

基于以上特性我们可以知道TCP适合对数据准确度比较好,但是对速度和实时性要求相对不拿那么高的场景比如网络请求、浏览器、邮箱、金融数据传输等等;UDP适合对数据完整性要求不高,但是对速度要求高的直播场景、在线视频媒体,电视广播、多人在线游戏等等。

TLS 的设计目标和握手过程:

TLS其实就是基于TCP的用于保证信息安全的加密传输协议。主要特点就是非对称加密“密钥”,然后对称加密消息。私钥加密,公钥解密“密钥”,然后把解密出来的密钥当作加密钥匙去加密需要传输的的消息。

HTTP/1.x/2 的特性及使用:

HTTP2.0和HTTP1.X相比的新特性:

1、HTTP2.0 是基于二进制格式传输的,由于0,1更加简单,所以更加健壮。而http1.X是基于文本格式的,文本表示的形式多样,必然要考虑的点比较多。

2、HTTP2.0支持多路复用,即连接共享。一个连接可以有多个request,每个request用id区别,分发到不同的服务端请求。

3、HTTP2.0支持header压缩。HTTP1.x有大量的重复的header头信息,这里占有大量带宽,所以HTTP2.0endoce,避免了重复的传输。

4、服务端推送,HTTP2.0支持服务端向客户端push消息,server push。

扩展: 1.1相对于1.0最大的变化就是增加了持久连接支持,HTTP1.1支持连接复用,由于http是基于tcp,所以每次请求都最少3次握手才能传送消息,如果连接复用,那么大大节省了资源和时间。 HTTP2.0是基于spdy改进的,但是也有两点不同: HTTP2.0支持http,spdy强制https HTTP2.0 header的压缩算法采用heack算法而不是spdy的DEFLATE算法。

Leave a Reply