一文就让你搞懂http和https的通信过程及区别

一文就让你搞懂http和https的通信过程及区别

大家好,又见面了,我是全栈君。

一、 HTTP与HTTPS的区别

1、端口:http端口号是 80;https端口号是 443

2、传输协议:http是超文本传输协议,属于明文传输;https是安全的超文本传输协议,是经过SSL加密后的传输协议

3、安全性:https使用了TLS/SSL加密,比http更加的安全

4、证书:https需要申请ca证书

二、HTTP的通信过程

作为标准的C/S模型,http协议总是由客户端发起,服务器进行响应。

1、DNS解析,域名系统DNS将域名解析成IP地址

2、建立TCP连接,进行TCP的三次握手

3、浏览器发送请求

4、服务器响应浏览器,向浏览器发送数据

5、通信完成,TCP连接关闭

三、HTTPS的通信过程

https通信是建立在ssl连接层之上的请求和响应,客户端将加密组件发送到服务端,服务端进行匹配后将数字证书等信息发送到客户端,客户端进行证书验证,验证通过后使用非对称加密对数据的密钥进行协商,协商后得到对称的加密密钥,然后使用对称算法进行TCP链接,然后与客户端进行三次握手后,进行数据传输,传输完成后,四次挥手,断开链接,通信结束。

通信过程如下 :

1、客户端和服务器端通过TCP建立连接,并发送https请求。

2、服务器响应请求,并将数字证书发送给客户端,数字证书包括公共秘钥、域名、申请证书的公司。

3、客户端收到服务器端的数字证书之后,会验证数字证书的合法性。

4、如果公钥合格,那么客户端会生成client key,一个用于进行对称加密的密钥,并用服务器的公钥对客户端密钥进行非对称加密。

5、客户端会再次发起请求,将加密之后的客户端密钥发送给服务器。

6、服务器接收密文后,会用私钥对其进行非对称解密,得到客户端秘钥。并使用客户端秘钥进行对称加密,生成密文并发送。

7、客户端收到密文,并使用客户端秘钥进行解密,获取数据。

一文就让你搞懂http和https的通信过程及区别

一文就让你搞懂http和https的通信过程及区别

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111526.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月19日 上午11:00
下一篇 2022年2月19日 上午11:00


相关推荐

  • [开源]基于WPF实现的Gif图片分割器,提取GIf图片中的每一帧

    [开源]基于WPF实现的Gif图片分割器,提取GIf图片中的每一帧

    2021年6月13日
    111
  • 大型数据库设计原则

    大型数据库设计原则大型数据库设计原则大型数据库相比较于以前文件型数据库有着其众多的优点 也是当今 MIS 系统开发的的首选产品 但是 数据库模型的设计合理会极大地影响到 MIS 系统使用性能 本论文根据作者多年从事数据库设计的一些经验 阐述了数据库设计时的一些准则 大型数据库相比较于以前文件型数据库有着其众多的优点 也是当今 MIS 系统开发的的首选产品 但是 数据库模型的设计合理会极大地影响到 MIS 系统使用性能 本论文根据作

    2026年3月17日
    2
  • n8n sqlai使用教程

    n8n sqlai使用教程

    2026年3月15日
    3
  • VBScript教程-第二章. 运行脚本

    VBScript教程-第二章. 运行脚本因为过年,一直没有更新教程.发现按照这个进度得下个世纪能完成我这宏伟的小计划,所以最近我会加快进度.好多人问我学习方法,其实真的是学习没有捷径.最后说一句,学习脚本最好准备一份帮助文档,vbs就下载script56.chm这个文件就行了.=========================万恶的分割线后开始正题=====================…

    2022年6月17日
    22
  • IDEA热部署不生效解决方案

    IDEA热部署不生效解决方案今天尝试热部署,没想到弄了半天没反应,最后经查阅发现此问题,希望同样问题的这个没配置的去添加试下,希望能帮到你第一步pom文件引入坐标<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools…

    2022年6月3日
    321
  • html表单数据提交方法,6种form表单提交方式-很全了_AnyReport

    html表单数据提交方法,6种form表单提交方式-很全了_AnyReport如果通过 form 表单提交请求服务端去下载文件 这时当前页面不会发生跳转 服务端返回 void 通过 response 去写文件数据 页面会显示下载文件 RequestMappi value url publicvoidex HttpServletR HttpServletR StringrptId throw

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号