一文搞懂│http 和 https 的通信过程及区别

一文搞懂│http 和 https 的通信过程及区别拨云见日,带你学好网络安全通信基础

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

? 两者的区别

  • 端口: http 端口号是80,https 端口号是443
  • 传输协议: http 是超文本传输协议,属于明文传输;https 是安全的超文本传输协议,是经过 SSL 加密后的传输协议
  • 安全性: https 使用了 TLS/SSL 加密,比 http 更加的安全
  • 证书: https 需要申请 ca 证书

? HTTP的通信过程

  • 理解: 作为标准的 C/S 模型,http 协议总是由客户端发起,服务端进行响应。
  • DNS 解析,域名系统 DNS 将域名解析成IP地址
  • 建立 TCP 连接,进行 TCP 的三次握手
  • 客户端发送请求
  • 服务端响应客户端,向客户端发送数据
  • 通信完成,TCP 连接关闭

? HTTPS的通信过程

  • 理解: https 通信是建立在 ssl 连接层之上的请求和响应,客户端将加密组件发送到服务端,服务端进行匹配后将数字证书等信息发送到客户端,客户端进行证书验证,验证通过后使用非对称加密对数据的密钥进行协商,协商后得到对称的加密密钥,然后使用对称算法进行 TCP 链接,然后与客户端进行三次握手后,进行数据传输,传输完成后,四次挥手,断开链接,通信结束。
  • 客户端和服务端通过 TCP 建立连接,并发送 https 请求。
  • 服务端响应请求,并将数字证书发送给客户端,数字证书包括公共秘钥、域名、申请证书的公司
  • 客户端收到服务端的数字证书之后,会验证数字证书的合法性。
  • 如果公钥合格,那么客户端会生成 client key,一个用于进行对称加密的密钥,并用服务端的公钥对客户端密钥进行非对称加密。
  • 客户端会再次发起请求,将加密之后的客户端密钥发送给服务端。
  • 服务端接收密文后,会用私钥对其进行非对称解密,得到客户端秘钥。并使用客户端秘钥进行对称加密,生成密文并发送。
  • 客户端收到密文,并使用客户端秘钥进行解密,获取数据。

HTTPS 通信过程

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CTS测试介绍(面试怎么介绍接口测试)

    CTS测试基本介绍CTS测试全称为系列兼容测试(CompatibilityTestsuite),CTS是为了测试手机是否符合google定义的兼容性规范(CompatibilityDefinition)。从而基于Android的应用程序能在基于同一个api版本的设备上面运行。通过CTS测试的设备可以获得Android的商标,并且享受AndroidMarket的权限。CTS测试是一个基于…

    2022年4月10日
    67
  • 女生学java_Java Server Pages

    女生学java_Java Server Pages/*身份证号码的结构和表示形式<br>1、号码的结构<br>公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。<br>2、地址码<br>表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。<br>3、出生日期码&

    2022年8月31日
    3
  • Maven 菜鸟教程 3 怎样启动web项目

    Maven 菜鸟教程 3 怎样启动web项目方案1:dos运行运行cmd输入mvnjetty:runjetty插件版本先在pom.xml添加jetty插件jdk7可以使用jetty插件7.1.0.RC1jdk8要使用高版本插件,如8.1.16.v20140903org.mortbay.jetty

    2025年10月1日
    3
  • XXOO 传说90黑阔论坛

    XXOO 传说90黑阔论坛不说什么了,能射进去的人太多了,我就负责转BY:ahuyangok目标站:www.hacker90.com运气有点好,随便点一个,就那第二个,就日下了,直接命中很简单根据图片找到了eweb的上传,进了后台,发现上传页面被删了,但是我看到了里头又黑阔留下的,加的asa,肯定有人日过,这怎么办呢,直接利用edit2.8漏洞遍历下Admin_UploadFile.a

    2022年7月17日
    18
  • shell if条件判断_shell if 判断

    shell if条件判断_shell if 判断,

    2022年8月18日
    8
  • 暗影骑士擎bios详解_runloop原理和机制

    暗影骑士擎bios详解_runloop原理和机制Runloop什么是Runloop?从字面上讲就是运行循环。它内部就是do-while循环,在这个循环内部不断地处理各种任务。一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法)RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退

    2025年7月5日
    4

发表回复

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

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