HTTP和HTTPS的区别及HTTPS的工作原理

一、HTTP和HTTPS的区别

1、安全性

  • HTTP:HTTP是明文传输的,这意味着数据在传输过程中不加密,容易受到中间人攻击。敏感信息,如密码和信用卡号,如果通过HTTP传输,可能会被窃取。
  • HTTPS:HTTPS使用SSL(Secure Sockets Layer)或其继任者TLS(Transport Layer Security)来加密数据传输,使数据在传输过程中加密,更难被中间人攻击窃取。

2、URL

  • HTTP:HTTP的URL以http:/开头
  • HTTPS:HTTPSI的URL以https:/开头

3、证书

  • HTTP:HTTP不需要使用数字证书。
  • HTTPS:HTTPS:需要使用数字证书,这个证书由受信任的第三方机构(如CA,Certificate Authority)颁发,用于验证网站的身份。

4、性能

  • HTTP:由于不需要加密和解密数据,HTTP的性能通常比HTTPS更高。这在某些情况下可以HTTP成为更好的选择,尤其是对于不涉及敏感信息的静态内容传输。
  • HTTPS:HTTPS需要进行加密和解密操作,这会增加一些计算开销,但现代计算机和服务器通常能够很好地处理这种负担。

二、HTTPS的工作原理

  1. 建立连接

    • 客户端向服务器发起连接请求。
    • 服务器接受连接请求,并回复确认。
  2. 握手阶段(Handshake)

    • 客户端向服务器发送一个消息,其中包含了支持的加密算法、TLS版本等信息。
    • 服务器收到“客户端Hello”后,选择一个加密算法和TLS版本,并生成一个数字证书发送给客户端。证书包含了服务器的公钥以及其他相关信息
    • 客户端收到服务器的证书后,会验证其有效性,包括检查是否是由可信的证书颁发机构签发的、服务器的域名是否与证书中的域名匹配等。
    • 如果证书有效,客户端生成一个随机的会话密钥并使用服务器的公钥加密这个密钥,然后发送给服务器。
    • 服务器收到加密的会话密钥后,使用自己的私钥解密,得到会话密钥。
  3. 加密通信

    • 一旦握手完成,客户端和服务器都使用这个会话密钥来进行对称加密和解密通信中的数据。
    • 数据在传输过程中被加密,保证了数据的机密性。
  4. 数据传输

    • 客户端发送HTTP请求(如GET、POST请求)给服务器,请求的数据经过加密后发送。
    • 服务器接收到请求后,进行相应的处理,生成响应数据。
    • 服务器将响应数据加密后发送给客户端。
  5. 结束连接

    当通信结束时,可以选择断开连接或者保持连接以进行后续通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络攻击日益猖獗,安全防护刻不容缓

“正在排队登录”、“账号登录异常”、“断线重连”......伴随着社交软件用户的一声声抱怨,某知名社交软件的服务器在更新上线2小时后,遭遇DDoS攻击,导致用户无法正常登录。在紧急维护几小时后,这款软件才恢复正常登录的情况。 这…

有哪些好用电脑端时间定时软件?桌面日程安排软件推荐 桌面备忘录

随着现代生活节奏的加快,人们对于时间管理和任务提醒的需求越来越大。为了满足这一需求,市场上涌现出了众多桌面便签备忘录软件,它们不仅可以帮助我们记录待办事项,还能定时提醒我们完成任务。在这篇文章中,我将为大家…

WebGIS面试题(第六期)-GeoServer

WebGIS面试题(第六期) 以下题目仅为部分题目,全部题目在公众号 {GISer世界} ,答案仅供参考!!! 因为本人之前做过相关项目用到了GeoServer,因此在简历上写了熟悉GeoServer。所以在相关面试中都有问到,所以我…

【Unity动画系统】详解Root Motion动画在Unity中的应用(一)

Root Motion动画与普通动画的区别 普通动画:动画文件里记录的是物体的绝对坐标和方向,在播放动画时,Unity会根据Animation中记录的值,直接修改游戏对象的坐标和方向,每一帧的坐标和方向都是通过插值计算得出来的&…

2013NOIP普及组真题 1. 计数问题

线上OJ: 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid1961 核心思想: 本来想找规律,后来发现本题的数据范围不大,n为 1 0 6 10^6 106,即使每一位都判断一次,最坏的情况下时间复杂度…

ubuntu20部署ceph17

# 配置3个节点ubuntu 20操作系统源 cat /etc/apt/sources.list deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.co…

Int4:Lucene 中的更多标量量化

作者:来自 Elastic Benjamin Trent, Thomas Veasey 在 Lucene 中引入 Int4 量化 在之前的博客中,我们全面介绍了 Lucene 中标量量化的实现。 我们还探索了两种具体的量化优化。 现在我们遇到了一个问题:int4 量化在 Lucene 中是如何工作的以…

git clone 报错 记录

问题 $ git clone http://***.git Cloning into … remote: Enumerating objects: 110841, done. remote: Counting objects: 100% (110841/110841), done. remote: Compressing objects: 100% (46725/46725), done. error: RPC failed; curl 18 transfer closed with outstand…

微服务之并行与分布式计算

一、概述 1.1集中式系统vs分布式系统 集中式系统 集中式系统完全依赖于一台大型的中心计算机的处理能力,这台中心计算机称为主机(Host 或 mainframe ),与中心计算机相连的终端设备具有各不相同非常低的计算能力。实际上大多数终…

额外加餐-关于使用bitmap来解决缓存穿透的方案

[外链图片转存中…(img-OyLw7puy-1712760065604)] 代码 UserController GetMapping("/sign/count") public Result signCount(){return userService.signCount(); }UserServiceImpl Override public Result signCount() {// 1.获取当前登录用户Long userId User…

[前端] todoList制作

知识点回顾 后代选择器 可以使用多个选择器每个选择器之间用空格分开。只要是后代就会被选择如 <style>div a{color: red;} </style> <div><a href"">我是儿子</a><p><a href"">我是孙子</a></p>…

【ARM 裸机】BSP 工程管理

回顾一下上一节&#xff1a;【ARM 裸机】NXP 官方 SDK 使用&#xff0c;我们发现工程文件夹里面各种文件非常凌乱&#xff1b; 那么为了模块化整理代码&#xff0c;使得同一个属性的文件存放在同一个目录里面&#xff0c;所以学习 BSP 工程管理非常有必要。 1、准备工作 新建…

校车车载4G视频智能监控系统方案

一、项目背景 随着社会的快速发展&#xff0c;校车安全问题日益受到人们的关注。为了提高校车运营的安全性&#xff0c;保障学生的生命安全&#xff0c;我们提出了一套校车车载4G视频智能监控系统方案。该系统能够实时监控校车内部和外部环境&#xff0c;及时发现并处理潜在的…

沪深websocket level2/level1行情推送接入示例

行情接入包 golang packge: package hangqingimport ("bufio""bytes""compress/flate""encoding/json""github.com/gorilla/websocket""io/ioutil""log""net/http""net/url"&quo…

【方案解决思路】RPC服务器不可用

当在SCCM服务器上使用wmic /node:<客户端IP> process list命令时&#xff0c;如果遇到“RPC服务器不可用”的错误&#xff0c;这通常意味着SCCM服务器无法通过RPC协议与远程客户端通信。以下是一些可能的解决步骤&#xff1a; 检查远程客户端的RPC服务&#xff1a; 确保远…

C++下跨平台websocket库及使用示例

websocketpp库使用非常方便&#xff0c;开源&#xff0c;可跨平台&#xff0c;内部实现全部是head文件&#xff0c;无cpp&#xff0c;接口简单易用。源码路径比如 https://github.com/zaphoyd/websocketpp.git 使用方法是&#xff0c;先下载源码包并复制道工程的include目录下…

OpenResty 操作 Redis 和 MySQL

OpenResty 是一个基于 Nginx 的 Web 开发平台&#xff0c;它通过内置的方式集成了 LuaJIT&#xff0c;并内置了很多常用的第三方 Nginx 模块&#xff0c;使得开发人员可以使用 Lua 脚本来扩展 Nginx 的功能&#xff0c;这样就使得 OpenResty 可以非常方便地操作 Redis 和 MySQL…

springBoot加载配置文件

1. 说明 Spring Boot会自动加载application.properties或application.yml&#xff0c;所放置的位置如下表&#xff0c;所有位置的文件都会被加载&#xff08;互补配置&#xff09;&#xff0c;高优先级配置内容会覆盖低优先级配置内容。 自动加载配置文件的目录及优先级 位置优…

selenium 自动化测试课上实操指南1——百度搜索

1.环境准备 下面的所有资源可以从超星班级资料中下载&#xff0c;机房的同学在收到的文件夹中可以找到文件 非本校同学&#xff0c;免费加入学银在线课程&#xff0c;就可以在资料 根目录 > 02 课件新 > week09 web自动化测试02 里下载本次实操资料 1&#xff09;安…

【打工日常】云原生之搭建私有化web在线聊天软件LumenIM

一、LumenIM介绍 1.LumenIM简介 Lumen IM 是一个网页版在线聊天项目&#xff0c;前端使用 Naive UI Vue3&#xff0c;后端采用 GO 开发。 2.LumenIM功能 基于 WebSocket 服务做消息即时推送 支持私聊及群聊 支持多种聊天消息类型 例如:文本、代码块、图片及其它类型文件&…