DAY5:HTTPS和HTTP有哪些区别 | HTTPS的工作原理(HTTPS建立连接的过程)| TCP和UDP的区别

2024-08-28 03:28

本文主要是介绍DAY5:HTTPS和HTTP有哪些区别 | HTTPS的工作原理(HTTPS建立连接的过程)| TCP和UDP的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

HTTPS和HTTP有哪些区别

HTTPS的工作原理(HTTPS建立连接的过程)

TCP和UDP的区别


HTTPS和HTTP有哪些区别

两者的主要区别在于安全性和数据加密:

1.加密层:HTTPSHTTP的基础上增加了SSL/TLS 协议作为加密层,确保数据传输的安全性。而HTTP数据传输是明文的,容易受到攻击。

2.HTTP连接建立相对简单,TCP三次握手之后便可以进行HTTP的报文传输。而HTTPS在TCP三次握手之后,还需进行SSL/TLS的握手过程,才可以进入加密报文传输。

3.端口:HTTPS通常使用端口443,而HTTP使用端口80

4.HTTPS协议需要向CA申请数字证书,来保证服务器的身份是可信的。


HTTPS的工作原理(HTTPS建立连接的过程)

HTTPS主要基于SSL/TLS协议,确保了数据传输的安全性和完整性,其建立连接并传输数据的过程如下:

1.密钥交换:客户端发起HTTPS请求后,服务器会发送其公钥证书给客户端。

2.证书验证:客户端会验证服务器的证书是否由受信任的证书办法机构(CA) 签发,并检查证书的有效性。

3.加密通信:一旦证书验证通过,客户端会生成一个随机的对称加密密钥,并使用服务器的公钥加密这个密钥,然后发送给服务器。

4.建立安全连接:服务器使用自己的私钥解密得到对称加密密钥,此时客户端和服务器都有了相同的密钥,可以进行加密和解密操作。

5.数据传输:使用对称加密密钥对所有传输的数据进行加密,确保数据在传输过程中的安全性。

6.完整性校验:SSL/TLS协议还包括消息完整性校验机制,如消息认证码,确保数据在传输过程中未被篡改。

7.结束连接:数据传输完成后,通信双方会进行会话密钥的销毁,以确保不会留下安全隐患。


TCP和UDP的区别

TCP和UDP的区别有以下八点:

1.TCP是面向连接的协议,需要在数据传输前建立连接;UDP是无连接的,不需要建立连接。

2.TCP提供可靠的数据传输,保证数据包的顺序和完整性;UDP不保证数据包的顺序或完整性。

3.TCP具有拥塞控制机制,可以根据网络状况调整数据传输速率;UDP没有拥塞控制,发送速率通常固定。

4.TCP通过滑动窗口机制进行流量控制,避免接收方处理不过来;UDP没有流量控制。

5.TCP能够检测并重传丢失或损坏的数据包;UDP不提供错误恢复机制。

6.TCP有复杂的报文头部,包含序列号、确认号等信息;UDP的报文头部相对简单。

7.由于TCP的连接建立、数据校验和重传机制,其性能开销通常比UDP大;UDP由于简单,性能开销小。

8.适用场景:TCP适用于需要可靠传输的应用,如网页浏览、文件传输等;UDP适用于对实时性要求高的应用,如语音通话、视频会议等。

这篇关于DAY5:HTTPS和HTTP有哪些区别 | HTTPS的工作原理(HTTPS建立连接的过程)| TCP和UDP的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113597

相关文章

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`