http和https的工作原理是什么?

HTTP(HyperText Transfer Protocol)和HTTPS(HyperText Transfer Protocol Secure)是两种用于在互联网上传输数据的主要协议,它们均用于在客户端(通常是Web浏览器)与服务器之间交换信息。尽管它们的核心功能相似,即实现Web内容的请求和响应,但它们在安全性方面存在显著差异。下面分别阐述HTTP和HTTPS的工作原理,并对比两者之间的区别。

HTTP的工作原理:

1. 客户端请求:
   - 用户在浏览器中输入一个HTTP网址或点击一个链接。
   - 浏览器构建一个HTTP请求,其中包含请求方法(如GET或POST)、请求URI(统一资源标识符)、HTTP版本、头部信息(如Accept、Cookie等)以及可能存在的请求体(如表单数据)。
   - 浏览器通过TCP/IP协议栈建立与服务器端口80的连接,然后发送请求。

2. 服务器响应:
   - 服务器接收到请求后,解析请求内容,确定要提供的资源(如HTML页面、图片、脚本等)。
   - 服务器处理请求(如查询数据库、执行脚本等),生成响应内容。
   - 服务器构建HTTP响应,包含状态码(如200 OK、404 Not Found等)、响应头部(如Content-Type、Set-Cookie等)以及响应体(实际数据)。
   - 服务器通过已建立的TCP连接将响应发送回客户端。

3. 断开连接:
   - 一旦响应发送完毕,服务器与客户端通常会关闭TCP连接,除非使用了Keep-Alive机制以复用连接。

永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL真正完全且永久免费!不用您花一分钱,SSL证书免费使用90天,并且还支持连续签发。JoySSL携手全球权威可信顶级根,自研新一代SSL证书,全系列支持90天免费使用。在这里,你可以申请到免费单域名证书、免费多域名证书以及免费通配符证书。部署于国内的验签服务器3-5分钟极速签发,而且只需要简单的域名解析验证,即可让您的网站开启https安全协议。icon-default.png?t=N7T8https://www.joyssl.com/certificate/select/free.html?nid=7

HTTPS的工作原理:

HTTPS是在HTTP的基础上添加了一层SSL/TLS(Secure Sockets Layer/Transport Layer Security)协议,以提供数据加密、身份验证和完整性校验。以下是HTTPS特有的工作流程:

1. SSL/TLS握手:
   - 客户端发起HTTPS请求,连接到服务器端口443。
   - 服务器返回其SSL/TLS证书,包含公钥、证书颁发机构信息、证书有效期等。
   - 客户端验证服务器证书的有效性(如是否由受信CA签发、是否过期、域名是否匹配等),确认服务器身份。
   - 双方协商共享的加密密钥,可能涉及非对称加密算法(如RSA、ECC)和对称加密算法(如AES)的使用,以及协商加密套件、哈希函数等。

2. 加密通信:
   - 完成握手后,客户端与服务器使用协商好的密钥和加密算法对后续的数据进行加密。
   - 客户端发送经过加密的HTTP请求给服务器。
   - 服务器解密请求,处理后加密响应内容,再发送给客户端。
   - 客户端解密响应,呈现网页内容给用户。

3. 安全增强:
   - 由于使用了加密,传输的数据即使被第三方截获也无法解读。
   - 服务器证书验证确保客户端与预期的服务器建立连接,防止中间人攻击。
   - 数据完整性校验(通过MAC或HMAC)防止数据在传输过程中被篡改。

永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL真正完全且永久免费!不用您花一分钱,SSL证书免费使用90天,并且还支持连续签发。JoySSL携手全球权威可信顶级根,自研新一代SSL证书,全系列支持90天免费使用。在这里,你可以申请到免费单域名证书、免费多域名证书以及免费通配符证书。部署于国内的验签服务器3-5分钟极速签发,而且只需要简单的域名解析验证,即可让您的网站开启https安全协议。icon-default.png?t=N7T8https://www.joyssl.com/certificate/select/free.html?nid=7

HTTP与HTTPS的区别:

- 安全性:HTTP不提供任何形式的数据加密,信息以明文传输,容易被窃听、篡改或伪造。而HTTPS通过SSL/TLS加密通信,保障数据的机密性和完整性,同时验证服务器身份,大大增强了安全性。
- 端口:HTTP默认使用端口80,HTTPS使用端口443。
- 证书:HTTPS需要服务器拥有由受信任的CA颁发的SSL/TLS证书,而HTTP无需证书。
- 性能:HTTPS由于增加了加密和解密过程,以及证书验证,理论上比HTTP略慢,但现代硬件和优化技术已大幅减小了这种差距。
- 成本:获取和维护SSL/TLS证书可能产生一定费用,尤其是对于需要OV或EV证书的组织,而HTTP则无此成本。

综上所述,HTTP和HTTPS分别代表了未加密和加密的Web通信方式。HTTP适用于对安全性要求较低的场景,而HTTPS是现代互联网上推荐使用的标准,尤其对于涉及敏感信息传输(如登录凭据、个人数据、金融交易等)的网站和服务至关重要。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【自动装箱以及包装类的缓存】⭐️通过具体案例看下每种包装类的不同结果

目录 前言 一、自动装箱与拆箱(以 Integer 包装类为例) 二、再来看看几个示例 ​编辑三、Double ,Float 类型亦是如此吗? 前言 小伙伴们大家好,日常使用业务层方面的代码居多,但也不可忘了基本的一些代码格式以及原…

QA:ubuntu22.04.4桌面版虚拟机鼠标丢失的解决方法

前言 在Windows11中的VMWare Workstation17.5.1 Pro上安装了Ubuntu22.04.4,在使用过程中发现,VM虚拟机的鼠标的光标会突然消失,但鼠标其他正常,就是光标不见了,下面是解决办法。 内容 如下图,输入mouse&a…

力扣面试150 H 指数 计数数组 模拟题

Problem: 274. H 指数 思路 👨‍🏫 灵神题解 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public int hIndex(int[] citations) {int n citations.length;int[] cnt new int[n 1];//cnt[i] …

Spark-Scala语言实战(8)

在之前的文章中,我们学习了如何在spark中使用RDD方法的map,sortby,collect。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战&…

在Java中对SQL进行常规操作的通用方法

SQL通用方法 一、常规方法增删改查二、具体优化步骤1.准备工作2.getcon()方法,获取数据库连接对象3.closeAll()方法,关闭所有资源4.通用的增删改方法5.通用的查询方法6.动态查询语句 总结 一、常规方法增删改查 在常规方法中,我们在Java中对…

基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计——综述

综述 本文对基于视觉的机器人抓取进行了全面的综述。我们总结了基于视觉的机器人抓取过程中的三个关键任务,即物体定位、物体姿态估计和抓取估计。详细地说,对象定位任务包括无分类的对象定位、对象检测和对象实例分割。此任务提供输入数据中目标对象的…

基于微信小程序医院挂号系统的设计与实现(论文+源码)_kaic

摘 要 进入21世纪网络和微信小程序得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的脚脚落落。这就促使微信小程序的发展。微信小程序可以实现远程处理事务,远程提交工…

Predict the Next “X” ,第四范式发布先知AIOS 5.0

今天,第四范式发布了先知AIOS 5.0,一款全新的行业大模型平台。 大语言模型的原理是根据历史单词去不断预测下一个单词,换一句常见的话:Predict the Next “Word”。 当前对于行业大模型的普遍认知就是沿用这种逻辑,用大…

HTTP/1.1 特性(计算机网络)

HTTP/1.1 的优点有哪些? 「简单、灵活和易于扩展、应用广泛和跨平台」 1. 简单 HTTP 基本的报文格式就是 header body,头部信息也是 key-value 简单文本的形式,易于理解。 2. 灵活和易于扩展 HTTP 协议里的各类请求方法、URI/URL、状态码…

聊聊多版本并发控制(MVCC)

多版本并发控制(MVCC) MVCC一直是数据库部分的高频面试题,这篇文章来聊聊MVCC是什么,以及一些底层原理的实现。 当前读和快照读: 当前读:读取的是事务最新的版本,读取的过程中其他并发事务不…

Docker 笔记

1.Ubuntu安装Docker 安装Docker看这篇文章 http://t.csdnimg.cn/IsSsJ 2.在docker中运行python代码 2.1搭建python环境 docker部署python环境看这篇文章 http://t.csdnimg.cn/TYz0G 2.2在python shell中运行python代码 2.2.1查看镜像 2.2.1启动python,厦门这个…

在 Three.js 中,OBJExporter 是一个用于将 Three.js 中的场景导出为 OBJ 格式的类。

demo案例 在 Three.js 中,OBJExporter 是一个用于将 Three.js 中的场景导出为 OBJ 格式的类。下面是关于它的入参、出参、属性和方法的解释: 类名:OBJExporter 构造函数: THREE.OBJExporter()说明: 创建一个 OBJE…

4月1日起,未备案App小程序将下架

关注卢松松,会经常给你分享一些我的经验和观点。 最后2天了、最后2天了。 从2024年4月1日起,工信部要求所有的APP、小程序都要备案,否则下架、关停、限制更新。这是去年8月份出的新规,没想到十个月这么快就过去了。 现在广东省…

面向对象:多态

文章目录 一、什么是多态二、构成多态的条件2.1什么是虚函数2.1如何构成虚函数的重写(原理层面上叫:重写)2.2父类指针的调用 三、多态调用父类指针出现的情况四、构成多态的一种特殊情况(协变)五、析构函数构成的多态六…

jmeter性能压测的标准和实战中会遇到的问题

1.性能标准建议 CPU 使用率:不超过 70% 内存使用率:不超过 70% 磁盘:%util到达80%严重繁忙 (os.disIO.filesystem.writeKbPS 每秒写入的千字节) 响应时间:95%的响应时间不超过8000ms 事务成功率&#xff1a…

EXCEL 通过FILES函数获取指定路径中的所有文件名

FILES函数 用途 获取指定文件路径中的所有文件名。 语法 FILES(“路径\*.*”)指定从哪个路径下返回一个文件名。 *.*是通配符,代表所有类型的文件,第一个*是文件名的通配符,第二个* 是文件的后缀名,表示文件类型,如…

【c++】简单的日期计算器

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好啊,在我们学习了默认成员函数后,我们本节内容来完成知识的实践,来实现一个简易的日期计算器 目录 头文件声明函数函数的实现1.全缺省默认构…

手机真机连接USB调试adb不识别不显示和TCPIP连接问题

手机真机连接USB调试adb devices不显示设备和TCPIP连接 本文手机型号为NOVA 7 ,其他型号手机在开发人员模式打开等方式可能略有不同,需根据自己的手机型号修改。 文章目录 1. 打开和关闭开发者模式2. 真机USB连接调试adb不显示设备问题的若干解决方法3…

CKS之安全沙箱运行容器:gVisor

目录 一、gVisor介绍 二、gVisor架构 三、gVisor使用前置条件 四、Docker中使用gVisor 五、containerd中使用gVisor 六、Kubernetes结合gVisor使用 一、gVisor介绍 gVisor是Google开源的一种容器沙箱技术,其设计初衷是在提供较高安全性的同时,尽量…

二十四种设计模式与六大设计原则(一):【策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式】的定义、举例说明、核心思想、适用场景和优缺点

目录 策略模式【Strategy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 代理模式【Proxy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 单例模式【Singleton Pattern】 定义 举例说明 核心思想 适用场景 优缺点 多例模式【Multition Pattern】…