HTTPS学习之教你弄透到底什么是HTTPS

深入理解nginx的https sni机制 本文从ssl上下文的初始化、ssl连接的初始化、sni回调处理,到最后动态证书加载的整个流程说明了nginx sni的实现过程 阅读详情

本文谈谈我的看法,主要分为以下几个方面:

  • HTTPS 协议是什么?
  • HTTPS 是如何工作的?
  • HTTPS 真的安全吗?

一、什么是 HTTPS

  HTTPS,也称作 HTTP over TLS,TLS 前身是 SSL,会有各个版本。TLS 协议在 TCP/IP 协议栈中的关系如下:

  上图描述了在 TCP/IP 协议栈中 TLS(各子协议)和 HTTP 的关系,HTTP+TLS 也就是 HTTPS。和 HTTP 相比,HTTPS 的优势:

  • 数据完整性:内容传输经过完整性校验。
  • 数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥。
  • 身份认证:第三方无法伪造服务端(客户端)身份。

c/c++linux服务器开发高级架构师学习路线大纲:学习路线导图,学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师

二、HTTPS如何工作的

  1、工作流程

  如下图所示,就是HTTPS协议的工作流程。 

  2、TCP三次握手

  首先是TCP协议的三次握手,如下图所示:

  • Step1:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;
  • Step2:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;
  • Step3:服务端发送一个SYN=0,ACK=1的数据包给客户端端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。

   我们通过wireshark抓包查看三次握手过程:

  • Step1:启动wireshark抓包,打开浏览器输入www.huawei.com。
  • Step2:使用ping www.huawei.com获取IP。

    通过wireshark抓包,首先我们测试用www.huawei.com,先ping 网址得到IP。

  • Step3:输入过滤条件获取待分析数据包列表 ip.addr == 113.96.132.64。

  图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTPS的Client Hello, 这说明HTTP的确是使用TCP建立连接的。

  第一次握手数据包

  客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图。

  数据包的关键属性如下:

  • SYN :标志位,表示请求建立连接
  • Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
  • Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据

  第二次握手的数据包

  服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图:

  数据包的关键属性如下:

  • [SYN + ACK]: 标志位,同意建立连接,并回送SYN+ACK。
  • Seq = 0 :初始建立值为0,表示当前还没有发送数据
  • Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)

C/C++Linux服务器开发高级架构师学习视频 点击 linux服务器学习资料 获取,内容知识点包括Linux,Nginx,ZeroMQ,MySQL,Redis,线程池,MongoDB,ZK,Linux内核,CDN,P2P,epoll,Docker,TCP/IP,协程,DPDK等等。

  第三次握手的数据包

  客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

  数据包的关键属性如下:

  • ACK :标志位,表示已经收到记录
  • Seq = 1 :表示当前已经发送1个数据
  • Ack = 1 : 表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。

  就这样通过了TCP三次握手,建立了连接。

  3、HTTPS握手

  3.1、客户端发起Client Hello握手

  Client Hello握手

  我们以抓博客园www.cnblogs.com为例,可以看到一个Client Hello握手,我们可以看到客户端握手发起了了一个握手类型为Client Hello的握手(Handshake Type:Client Hello),同时附带了这么一些信息:

  • Random1(随机数)和一个时间戳。
  • 客户端支持的加密协议套装。告诉 HTTPS 的服务器端,客户端能支持下面这 32 种加密协议套装中列出的算法,让服务器选择一个加密协议算法套装。
  • 客户端支持的签名算法,让服务器端自由选择一个用于后续的加密通信。
  • 访问的 Web 服务器的信息。

  3.2、服务端收到Client Hello握手并发起Server Hello握手并下发证书

  Server ACK回应

  在客户端发送Client Hello握手后,服务端会回应ACK信息,如下图所示:

  接下来HTTPS 服务器马上给客户端回复了下面这 4 条 SSL 握手信息。

  • Server Hello
  • Certificate
  • Server Key Exchange Server
  • Hello Done

  Sever Hello握手

  服务端也会发一串随机数Random2,并告诉客户端,服务器端准备选择TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256作为秘钥交互的加密协议套装,该加密协议的套装名字肯定出现在客户端发送给服务器的支持的 32 个列表中。

  Certificate证书

  SSL 服务器证书信息。在这条 HTTPS 服务器给客户端回复消息 SSL 握手信息里面,其还会把服务器端的 SSL 证书发送给客户端,从图中的转包信息中,我们能清晰地发现服务器端 SSL 证书的相关信息。

  需要注意的是,如果是 SSL 的双向认证,服务器端也可以要求客户端把 SSL 证书发送给服务器端(对应的 SSL 握手消息名称为:CertificateRequest),这个时候,客户端就会把其 SSL 证书发送给服务器端,从而证明其就是服务器端信任的客户端。

  Server Key Exchange Server以及Server Hello Done

  如下图所示,HTTPS 服务器告诉了客户端其将会采用的 EC Diffie-Hellman 算法进行 HTTPS 服务器和客户端的秘钥交换,并提供了 EC Diffie-Hellman 算法使用到的服务器端的参数:

  • 曲线类型:named_curve: x25519
  • 公钥信息:Pubkey
  • 签名的算法:rsa_pkcs1_sha256
  • 签名的信息:signature

   3.3、客户端完成密钥交换并发起加密传输请求

  当客户端收到服务器端的相关公钥信息、SSL 证书以及摘要算法和摘要信息后,会发送一个ack告诉服务端已经收到hello数据包以及证书。

  此时客户端需要验证服务器发过来的证书的合法性:通过操作系统内置的ca证书,来验证服务器证书的颁发者和过期时间是否合法,如果存在数据签名,则用操作系统中颁发者CA的公钥对签名解密,用相同的hash算法算出签名的hash值,将这个hash值与签名中的hash值对比。验证是否是真实的服务器发送的。然后客户端会响应下面3 条 SSL 握手信息:

  • Client Key Exchange
  • Change Cipher Spec
  • Encrypted Handshake Message

  Client Key Exchange 握手信息

  客户端验证通过,取出证书中的公钥,然后再生成一个随机数random3,用这个公钥对random3加密,生成PreMaster Key,客户端根据服务器传来的公钥生成了 PreMaster Key,Client Key Exchange 就是将这个 key 传给服务端,服务端再用自己的私钥解出这个 PreMaster Key 得到客户端生成的 Random3。至此,客户端和服务端都拥有 Random1 + Random2 + Random3,两边再根据同样的算法就可以生成一份秘钥,握手结束后的应用层数据都是使用这个秘钥进行对称加密。为什么要使用三个随机数呢?这是因为 SSL/TLS 握手过程的数据都是明文传输的,并且多个随机数种子来生成秘钥不容易被暴力破解出来。

  根据PreMaster Key,服务器和客户端会计算出相同的主密码(Master secret),然后根据主密码生成下面的比特序列(秘钥素材)。

  • 对称密码的秘钥
  • 消息认证码的秘钥
  • 对称密码的 CBC 模式中使用的初始化向量(IV)

需要注意的是,Client 秘钥交换的方式主要有两种:

通过 RSA 公钥密码交换秘钥:这个时候客户端会在发送 ClientKeyExchange 消息时,将经过加密的预备主密码一起发送给服务器。

使用 Diffie-Hellman 交换秘钥:客户端会在发送 ClientKeyExchange 消息时,将 Diffie-Hellman 公开值(Pub Key)一起发送给服务器,根据这个值,客户端和服务器会各自生成预备主密码,而且更加这个预备主密码能够生成相同的对称主密码。

  Change Cipher Spec

  Change Cipher Spec握手信息就是告诉服务端,要换密码了。

  然后访问网站时,会出现浏览器的警告:

  客户端发出使用主密码加密的结束信息,告诉服务器端:“秘钥交换握手协议到此结束”。

   

  3.4、服务端也告知客户端进行加密传输

  然后HTTPS 服务端马上给客户端回复 2 条 SSL 握手信息,这时轮到服务器端发送“Change Cipher Spec”消息了,服务器告诉客户端:“好,现在我也要切换密码了”。服务器端用预备主密码(Pre-Master secret)计算出的主秘钥加密了一条信息,并发送给客户端:“好的,秘钥交换握手协议到此结束”。如果通信双方都能把结束消息解密成功,说明主秘钥已经交换成功。就可以发送真正的用主密码加密的应用数据的信息了。

  3.5、开始进行数据加密传输

  服务端就可以用对称秘钥把加密过的 HTML 网页内容发送给客户端了,如下图所示:

上面的步骤只是把我当前环境下抓取到的使用 TL S1.2 协议规范进行了 HTTPS 通信原理和过程的梳理和解释,在不同的环境下,其通信过程会有一些差异,比如,如果配置了双向 SSL 认证,其 SSL 服务器端还会要求客户端把客户端的证书发送到服务端,从而验证客户端是否是可信任的,另外在进行主密码交换的过程中,也可能采用 RSA 公钥密码,而不是 Diffie-Hellman,此时,其 SSL 握手消息会有所不同,但是整体的流程和交互过程思路基本上保持相同。

三、HTTPS真的安全么 

  HTTPS 真的完全安全吗?连访问的域名都获取不到?答案是否定的。上述 HTTPS 在握手阶段有一个很重要的东西:证书。

  1、SNI:域名裸奔

  当访问 HTTPS 站点时,会首先与服务器建立 SSL 连接,第一步就是请求服务器的证书。

  当一个 Server IP 只对应一个域名(站点)时,很方便,任意客户端请求过来,无脑返回该域名(服务)对应的证书即可。但 IP 地址(IPv4)是有限的呀,多个域名复用同一个 IP 地址的时候怎么办?服务器在发送证书时,不知道浏览器访问的是哪个域名,所以不能根据不同域名发送不同的证书。因此 TLS 协议升级了,多了 SNI 这个东西,SNI 即 Server Name Indication,是为了解决一个服务器使用多个域名和证书的 SSL/TLS 扩展。现在主流客户端都支持这个协议的。

  它的原理是:在与服务器建立 SSL 连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。此时还没有办法进行加解密,因此至少这个域名是裸奔的。如下图所示,访问博客园在进行Client Hello握手时就会带上需要访问的域名:

  2、中间人攻击

  HTTPS 中的关键其实在于这个证书。中间人攻击就是在客户端、服务器之间多了个『中介』,『中介』在客户端、服务器双方中伪装对方。如下所示这个『MitmProxy』充当了中间人:

  然后访问网站时,会出现浏览器的警告:

  提示,连接不是私密连接,其实就是浏览器识别了证书不太对劲,没有信任。而如果此时你信任浏览器,则可以正常访问。因此,当你信任证书后,在中间人面前,又是一览无余了。

  因此,一般去申请ca证书的时候,选择正规的CA机构进行证书申请。

【Nginx】nginx如何实现透转? 通过精心配置,Nginx不仅能够高效地处理请求,还能在复杂网络架构中忠实传递每一份真实。记住,安全总是多层防御的结果,IP透传虽好,但别忘了结合其它安全措施,共同织就一张牢不可破的防护网。 阅读详情

相关推荐

nginx 反向代理https站点,怎么透传用户端IP地址呢?

nginx代理http网站,可以使用XFF轻松拿到用用户端真实IP地址,但是换了https怎么尝试都不行,我没有找到官方说不支持https地址透传。 请问是我的配置写的有问题还是nginx不支持https地址透传? 代码如下: upstream web-app{ server *.*.*.*:8088 ; } server { listen 443 ss...

laoman067的博客 1485

SNI: 实现多域名虚拟主机的SSL/TLS认证

一、介绍 早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,它默认认为:一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客户端申请的是哪张证书。但是让人万万没有想到的是,虚拟主机大力发展起来了,这就造成了一个IP会对应多个域名的情况。解决办法有一些,例如申请泛域名证书,对所有*.yourdomain.com的域

上善若水,水善利万物而不争。 1万+

有人透传云二次开发接口使用的一些问题

有人透传云二次开发接口使用问题小结 接口选择web网页端 参考文档如下图 问题1: mqttws31.js:978 Mixed Content: The page at ‘https://localhost:44354/’ was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint ‘ws...

qq_38213675的博客 2159

HTTPS & SNI(Server Name Indication)

HTTPS与SNI扩展,一个IP绑定多个SSL证书 SNI(Server Name Indication)

来啊 快活啊 4399

一文教你将 SpringBoot 网站升级为 HTTPS

今年 2 月份,谷歌宣布:7 月起,Chrome 浏览器的地址栏将把所有 HTTP 标示为不安全网站!如今已经是 6 月底了,是时候将抛弃容易被第三方监控的 HTTP 拥抱 HTTPS 了。 下面就从 HTTPS 证书申请、网站 HTTPS 的配置、HTTP 重定向到 HTTPS 三个方面教你将一个 SpringBoot 网站升级为安全的 HTTPS。 证书申请 目前国内提供免费 HTTPS 证书...

rochy_he的博客 530

先进封装技术 Part03---重布线层(RDL)的科普

RDL是一种在芯片封装过程中用于重新分布电气连接的技术。它通过在芯片表面或中介层上形成额外的布线层,重新分配芯片的I/O(输入/输出)位置,以适应不同的封装需求和提高电气连接的灵活性。

阿拉伯梳子的专栏 4710

服务器sni协议,关于 https 的 SNI(Sever Name Indication) 问题记录

1 虚拟主机要讨论 SNI 的问题,首先需要来介绍一个虚拟主机的概念。1.1 概念虚拟主机一般使用的技术为软硬件,它可以把一台真实的物理电脑主机进行划分,让它变成多个逻辑的存储单元,每一个单元中不会再有物理的实体,但是在单元内,却可以和真实的物理主机一样正常的工作,实现 IP 地址,单独的域名,完整的 Internet 服务器的工作。其中关键一点就是,虚拟主机的主要技术是在同一操作系统,同一硬件平...

weixin_39534759的博客 1429

Jasper Report使用JSON数据源创建报表

最近在做一个项目小功能,表单结案要生成PDF报表。 起初,想用HTML模板(art-template模板引擎)编写,利用浏览器的打印功能保存成pdf文件下载。但是HTML编写好的模板,页码、页眉、页脚设置有坑,表单内容中的表格较多,表格不能设置跨页,导致跨页的表格内容与页眉重叠,没能解决这个问题。 于是,转战研究Jasper report生成报表,用更加专业的报表生成工具来做。刚开始,也是跌跌撞撞,遇到了很多问题,因为觉得没有退路了,必须要用这个搞出来,所以就硬着头皮去找各种资料。 主要使用的json

xiaogege2012的专栏 3321

HTTPS之SNI介绍

1. 介绍 早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,默认一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客户端申请的是哪张证书。 但是让人万万没有想到的是,虚拟主机大力发展起来了,这就造成了一个IP会对应多个域名的情况。解决办法有一些,例如申请泛域名证书,对所有*.yourdomain.com的域名都可以认证,但如果你还有一个yourdomain.net的域名,那就不行了。 在HTT

任我行的博客 3506

基于fMRI数据计算脑脊液(CSF)与全脑BOLD信号的时间耦合分析

BOLD和CSF信号有多相似CSF信号要延迟多少时间才能最匹配BOLD信号BOLD-CSF的互相关公式lag:时间延迟采样点数BOLD信号CSF信号延迟时间点对应的相关系数。

Rose9614的博客 2983

spring-ai学习(四)-MCP

创建一个springai项目1.依赖。

zql1455890112的博客 1386

弄一个HTTPS的api

一个优雅的API提示页面,一种解决HTTPS的API的解决方案

CN_016的博客 918

具身智能端到端大模型VLA (Vision Language Action)

在语言为条件的机器人任务中,策略必须具备理解语言指令、视觉感知环境并生成适当动作的能力,这就需要VLA的。例如,在自动驾驶领域,传统的做法是将感知、预测、规划等步骤分开处理,而VLA则试图用一个统一的框架来替代这种分立的方法。另外,VLA的模型对于算力的需求很大,单片AI算力1000Tops的Thor大概率会延期发布,加上英伟达芯片的量产时间与成本挑战,以及在国内的应用情况,对车企而言是个大问题。以谷歌DeepMind推出的RT-2为例,该模型可以在新的物体、背景和环境中表现出显著改善的性能。

具身智能机器人 1万+

手把手教你Nginx 配置 HTTPS 完整过程

今天作为程序员专属得节日,1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班。 程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。 当然在我们日常开发过程中,监控也是必不可少得,所以今天我们就来了解下zabbix监控 1,Zabbix简介 zabbix是一个基于

菜鸟路上的小白 11万+

C# 实现文件和字符串的AES加密解密

C# 实现文件和字符串的AES128加密解密

m0_72044573的博客 5935

EMD (经验模态分解) 在 C++ 中的实现指南

EMD 是由 Norden E. Huang 等人在1998年提出的一种适用于非线性和非平稳信号的分析方法。对称性:IMF 的上下包络对称。零交叉点:IMF 的零交叉点数量与极值点数量相同或相差一个。本文详细介绍了如何在C++中实现EMD,包括理论背景、算法步骤、代码实现和优化等内容。通过丰富的代码示例和详细的解释,希望能够帮助读者掌握EMD的基本原理,并能够在实际项目中灵活应用。未来,随着信号处理技术的不断发展,EMD及其变种(如EEMD、CEEMDAN等)将继续在各个领域发挥重要作用。

qq_38334677的博客 1750

消息透传服务器,透传tcp 服务器

透传tcp 服务器 内容精选换一换负载均衡器会完成和客户端的三次握手,卸载SSL证书,负载均衡器和后端服务器之间使用HTTP协议。所以若您使用HTTPS监听器,后端云服务器组的协议建议使用HTTP。如果您不希望负载均衡器对HTTPS流量进行解密,可以通过配置相同端口的TCP监听器将HTTPS流量透传到后端服务器。并且在实例的安全组配置相同端口的TCP入方向规则,以允许相同HTTPS协议适用于需要加...

weixin_34198817的博客 1301

《QGIS快速入门与应用基础》079:KML/KMZ格式:Google Earth兼容

KML/KMZ是专为地理可视化设计的空间数据格式,原生兼容Google Earth,支持点线面要素标注与多媒体集成。KML为XML文本格式,KMZ是其压缩版本。该格式优势在于可视化表现力强、跨平台共享便捷,适合地理标注、路线分享等场景,但存在属性支持弱、大数据量处理效率低等局限。QGIS中可便捷加载和导出KML/KMZ数据,需注意编码设为UTF-8、勾选"导出样式"以保留可视化效果。建议中小规模标注数据使用KMZ格式,确保关联资源完整,提升共享效率。

LuckyHanMo的博客 775

学习网络编程No.10【深入学习HTTPS】

HTTPS协议所有知识点详解

狂小伍的博客 6340

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

用故事说透HTTPS

本文来自素燕公众号,原文地址:漫画:小学生都能看懂的 HTTPS 故事中的主演: 小华今年上大一,这是她第一次离开父母,独自一人到北京上学。今天妈妈的生日,想了想要给妈妈一个祝福,便给妈妈发了条消息: 妈妈收到这条消息非常开心,女儿这么忙还能记得自己的生日,两个人便开始聊了起来。妈妈知道女儿一直省吃俭用,决定给女儿打点钱过去。 小黑是个黑客,专搞一些“偷鸡摸狗”的事情,他已经监听了这对母女的...

KH_FC的博客 803

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

简单的 HTTPS 学习

简单的https基础知识了解学习

qq_19342829的博客 1229

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NPS Enhanced与Nginx配合使用:实现HTTPS加密与真实IP透传的最佳实践

NPS Enhanced(nps4)是一款轻量高效的内网穿透代理服务器,支持TCP、UDP、HTTP、HTTPS等多种协议转发。通过与Nginx配合使用,不仅能实现HTTPS加密传输,还能解决真实IP透传问题,为内网服务提供更安全、专业的公网访问方案。 ## 为什么需要Nginx与NPS Enhanced配合? 在生产环境中,单独使用NPS虽然能实现内网穿透,但面对高并发HTTPS请求或复杂的

gitblog_00209的博客 896

Nginx如何支持HTTPS?手把手教贼简单!

随着我们网站用户的增多,我们会逐渐意识到HTTPS加密的重要性。在不修改现有代码的情况下,要从HTTP升级到HTTPS,让Nginx支持HTTPS是个很好的选择。今天我们来讲下如何从Ng...

macrozheng的专栏 6382

透传云 java_透传云

文件版本:Ver2.0.20![](http://cloud.usr.cn/showdoc/Public/Uploads/2017-12-06/5a278c24c0681.png)| 版本号 | 修订日期 | 修订内容 | 修订人 || ------------ | ------------ | ------------ | ------------ ||V1.0.0 | 2015/0...

weixin_39830205的博客 325

手把手教你 HTTPS 配置

手把手教你 HTTPS 配置 转自:https://mp.weixin.qq.com/s/0l1FH4kCGyNShxPK22iPkQ 注:本博客介绍需要有外网IP和域名的服务器才能申请的证书。 01、关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请、HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证书申...

lwy572039941的博客 640

教你分清HTTP与HTTPS

HTTP与HTTPS的区别超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTP...

weiboren的博客 2594
上一篇: Redis学习之Redis概述及原理、基本操作及持久化
下一篇: linux服务器开发人员必须要彻底理解的关于【Linux】IO的线程模型
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值