http重定向流程与https证书校验流程

2023-11-09

http重定向

原理:在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而触发。HTTP 协议的重定向响应的状态码为 3xx 。浏览器在接收到重定向响应的时候,会自动采用该响应提供的新的 URL 并立即进行加载;大多数情况下,除了会有一小部分性能损失之外,重定向操作对于用户来说是不可见的。不同类型的重定向映射可以划分为三个类别:永久重定向、临时重定向和特殊重定向。响应实体必须带有一个HTTP Location头部来指示新地址。


在这里插入图片描述

重定向的目的
1、相似域名。浏览者可能输入错误的域名,如:gooogle.com或googel.com。机构或团体不时会注册这些拼字不正确的网域名,重定向到正确地方:google.com。例如:example.com和example.net两者均会重定向至像是example.org的单一网域或网页。
2、移动网站至新url。网站需要改变它的域名。移动网页至新域名。或者是多个个网站结合跳转。


https证书校验

http默认端口80,;https默认端口443。证书是为了加密并安全传输服务端公钥,保证客户端收到的公钥是服务端发送的。https先是验证服务端证书并取出服务端的公钥,用取出的公钥加密对称密钥传输到服务端(非对称加密对称密钥),服务端用自己的私钥解密取出对称密钥,双方最后进行对称加密传输(对称加密)。 https加解密详细过程:


在这里插入图片描述

1、客户端向服务器端请求连接,服务器随后将自己的SSL服务器证书(包含公钥)返回给客户端。

2、浏览器验证收到的证书,判断是否信息被篡改或证书被替换。

  • 判断证书是否受信任:根据证书内容去浏览器寻找根证书。若未找到根证书,代表此机构是不受信任的,此时浏览器会警告用户。如果服务器证书是自签名的证书那么就需要把服务器自签名的ca证书放到客户端可信任CA证书的路径下,否则验证服务器证书失败。
  • 判断证书是否被篡改:若找到根证书后,会在根证书中获取根公钥,然后去解密收到的证书指纹。获取到指纹中的hash值,然后根据收到证书的内容再次生成一个hash值,判断信息是否被篡改。
  • 判断证书是否被替换:若信息未被篡改,则验证是否为目标服务器发送的证书,检查证书的<使用者>属性是否和我们请求的url相同。

3、若证书验证成功,那么浏览器就可以确定该证书是目标服务器发送的,于是生成一个对称加密的密钥,使用收到证书的<公钥>进行加密(保护对称密钥)。然后发送给服务器。

4、将使用服务器公钥加密过后的对称密钥发送给服务器,服务器使用自身私钥解密出客户端的对称密钥。

5、之后的通信一律使用对称密钥进行加密。双方都已拿到对称密钥都可以对传输数据进行加解密


对称加密:同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。


在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

http重定向流程与https证书校验流程 的相关文章

  • 【C语言】之实现闰年判断

    文件名 leapYear c 功能 任意输入一个年份 判断其是否为闰年 编辑人 王廷云 include
  • VB+SQL银行设备管理系统设计与实现

    摘要 随着银行卡的普及 很多地方安装了大量的存款机 取款机和POS机等银行自助设备 银行设备管理系统可以有效的记录银行设备的安装和使用情况 规范对自助设备的管理 从而为用户提供更加稳定和优质的服务 本文介绍了银行设备管理系统的设计和开发过程
  • ooad设计模型

    设计模式 Design pattern 是一套被反复使用 多数人知晓的 经过分类编目的 代码设计经验的总结 使用设计模式是为了可重用代码 让代码更容易被他人理解 保证代码可靠性 毫无疑问 设计模式于己于他人于系统都是多赢的 设计模式使代码编
  • 前端之vue3使用动画库animate.css(含动画、过渡)

    动画与过渡 一 动画效果 1 默认动画 实例 动画语法 2 给transition指定name 二 过渡效果 三 多个元素过渡 四 vue3使用动画库 动画库animate css 五 总结 一 动画效果 1 默认动画 实例
  • github怎么自动更新被人更新过的项目_新出炉的免费开源平台,GitHub官方出品

    软件名称 GitHub Desktop 2 2 4 安装环境 Windows 下载链接 下载链接 https www sssam com 10822 html 软件简介 GitHub是一个面向开源及私有软件项目的托管平台 因为只支持git
  • 前端实现websocket(vue3)

    在config index js文件中配置一下websocket websocket的域名和端口号的配置 const BASE URL localhost const WS PORT 8080 const WS ADDRESS ws BAS
  • linux 查看连接数,并发数

    软连接 ln s home ictfmcg data photo var jtnd data photo tomcat 6的Connector配置如下
  • MAX30102 高灵敏度脉搏氧器和心率传感器说明书

    MAX30102 一 简介 MAX30102是一个集成的脉搏血氧测量和心率监测模块 它包括内部led 光电探测器 光学元件和具有环境光排斥作用的低噪声电子器件 MAX30102提供了一个完整的系统解决方案 以简化移动和可穿戴设备的设计过程
  • 【Hadoop 01】简介

    目录 1 Hadoop 简介 2 下载并配置Hadoop 2 1 修改 etc profile 2 2 修改hadoop env sh 2 3 修改core site xml 2 4 修改hdfs site xml 2 5 修改mapred
  • MySQL —— 基本查询

    文章目录 1 向表中插入数据 2 查询操作 2 1 全列查询 2 2 指定列查询 2 3 查询字段带表达式 2 4 为查询结果指定别名 2 5 去重操作 3 where 条件 3 1 比较运算符和逻辑预算符的运用 3 2 like的细节 3
  • 关于树莓派的VNC连接

    在使用树莓派时 会经常由于条件限制 无法配置全套外设 如显示器 键盘 鼠标 而需要用到手机或者电脑进行远程连接 树莓派除了支持putty进行SSH连接外 还可以通过tightvnc进行VNC连接 下面介绍一下两种远程连接方式的使用方法 1

随机推荐

  • uni-app接入uview-ui组件详细说明,希望对称有所帮助

    1 uni app 引入uViewUI uViewUI官方地址 https uviewui com 安装 如果您的根目录没有package json文件的话 请先执行如下命令 npm init y npm install uview ui
  • vue 实现简单表格分页功能

    使用框架实现表格展示和跳转功能 一直不懂原理 所以自己写一个简单的 加深理解 布局分为2块 上面是表格展示数据 下面是点击按钮跳转 效果图 代码
  • 利用神经网络识别12306验证码——(五)训练模型

    需要训练的有两个模型 一个是文本识别模型 一个是图像识别模型 在训练的时候 尝试了ResNet50 ResNet101 MobileNetV2 三种模型 前两个残差神经网络模型的参数比较大 训练比较耗时 精度上也逊色于第三个模型 尝试了RT
  • Android7.0以上自动更新安装apk

    Android7 0以上加了很多特性 也对系统做了很多的优化和升级 而在对Uri的访问上也做了改变 以下用安装apk的例子来说明 对于程序 我们要实现程序能够自动检查更新安装 我们需要给程序赋予权限
  • 狼人杀服务器维护时间,狼人杀官 方将于11月30日进行停机维护

    狼人杀官 方将于11月30日进行停机维护 此次更新将更改一些设定 新增活动和关闭前面的活动 优化和修复一下问题 狼友们可以了解一下更新内容 亲爱的狼队友 为了保证服务器的稳定和服务质量 我们将于2017年11月30日10 00进行停机维护工
  • LeetCode算法题合集—链表篇

    链表基础算法题 链表的定义 java 单链表的定义 public class ListNode int val ListNode next 指向下一节点 ListNode 无参构造 ListNode int val this val val
  • 封玩家IP和机器码以及解开被封的教程

    封玩家IP和机器码以及解开被封的教程 关于封玩家IP地址的方法 可能在十多年前的第一代传奇引擎上就有了 但封机器码的功能 是GOM以后才看到的 早先的引擎上面并没有这个功能 比如HERO或者LEG等 虽然十多年前就有 但还是有不少GM 在开
  • Photomatix Pro for Mac HDR图像处理器

    Photomatix Pro是一款专业的HDR 高动态范围 照片处理软件 可以帮助用户将多张不同曝光度的照片合成一张高质量的HDR照片 并提供了丰富的HDR处理工具和效果 可以让用户轻松地创建出令人惊叹的HDR照片 Photomatix P
  • tesseract 训练---别人的东东

    关于tesseract ocr3的训练和使用 众所周知 这是一个出色的字符识别软件 这个开源项目可以在http code google com p tesseract ocr downloads list下载 在使用时 建议使用3而不要使用
  • OBS CLR插件开发

    本文所述的OBS 插件编写基于OBS CLRHostPlugin 使用C 语言写成 IDE为VS2012 完整代码详见Github 仓库地址 Part 创建工程 首先创建一个C 的项目 项目类型为类库 ClassLibrary 使用 NET
  • 多个类操作同一个Ui界面的方法(音乐播放器前期总结)

    最近自己在做类似于QQ音乐的播放器 用Qt模仿它的界面去写的 本地音乐播放功能差不多实现 除了歌词 现在已实现的功能 1 本地歌曲播放 2 播放 暂停 下一首 上一首 3 从文件夹添加歌曲至本地歌曲列表并显示 同时添加至数据库 数据库保存歌
  • Android 查看签名文件的MD5 SHA1值

    1 找到存放签名文件所在的文件夹 2 输入命令 keytool list v keystore atui jks 3 输入口令 keystore jks签名文件的密码
  • 机器学习--梯度下降法(BGD、SGD、MBGD)

    1 梯度 在微积分里面 对多元函数的参数求 part 偏导数 把求得的各个参数的偏导数以向量的形式写出来 就是梯度 比如函数 f x y f x y 分别对 x y x y求偏导数 求得的梯度向量就是 xf yf T frac part p
  • Ubuntu sudo 出现unable to resolve host 解决方法

    Ubuntu sudo 出现unable to resolve host 解决方法 Ubuntu环境执行sudo的时候都会 弹出如下的警告 上面大概的意思就是 sudo 无法解决主机 iZwz90a11x50xdx5dle0wgZ 我们可以
  • MySQL学习系列(4)-每天学习10个知识

    目录 1 InnoDB 和 MyISAM 2 SQL调优 3 数据一致性问题的解决 4 MySQL的存储引擎 5 MySQL的内存使用问题 6 索引比全表扫描慢的情况 7 行级锁和表级锁 8 MySQL的复制功能 9 数据库性能测试 10
  • CentOS8使用network.service服务管理网络

    前言 在CentOS8中 我们常用的network service服务就被NetworkManager service服务代替了 同样的 IP的配置方法也发生了改变 那么如果想使用network service服务去管理 配置系统网络怎么办
  • C语言实现扫雷 【递归扩展】 【超详细解析】

    扫雷游戏介绍 扫雷 是一款大众类的益智小游戏 于1992年发行 游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子 同时避免踩雷 踩到一个雷即全盘皆输 游戏规则 扫雷是电脑上一款非常经典的单机游戏 它的基本规则是 如果你点击一个
  • Linphone的简单使用

    目前参与了几个SIP项目 用到了几个软件 回过头来写下使用过程吧 使用的软电话是一个叫做Linphone的软件 首先拿到的是一个安装版的 感觉用不了几次 就没有安装 后来看到还有一个用QT编写的绿色版 就使用了该版本 界面简洁 QT绿色版
  • idea必备插件

    最近公司开发工具从 eclipse 全部切换到了 IntelliJ IDEA 为了提升公司开发效率 所以从网上搜集了一些常用的 IntelliJ IDEA 实用的开发插件 用于提升团队开发效率 现在在这里进行分享 让更多的人能够提升开发效率
  • http重定向流程与https证书校验流程

    http重定向 原理 在 HTTP 协议中 重定向操作由服务器通过发送特殊的响应 即 redirects 而触发 HTTP 协议的重定向响应的状态码为 3xx 浏览器在接收到重定向响应的时候 会自动采用该响应提供的新的 URL 并立即进行加