当前位置: 首页 > news >正文

网络协议丨HTTPS是什么?

我们都知道HTTP协议,那什么是HTTPS?

我们都知道,HTTP有两个缺点——“明文”和“不安全”仅凭 HTTP 自身是无力解决的,需要引入新的 HTTPS 协议。

由于 HTTP 天生“明文”的特点,整个传输过程完全透明,任何人都能够在链路中截获、修改或者伪造请求 / 响应报文,数据不具有可信性。

比如数据传输过程中的网络代理,它作为 HTTP 通信的中间人,在数据上下行的时候可以添加或删除部分头字段,也可以使用黑白名单过滤 body 里的关键字,甚至直接发送虚假的请求、响应,而浏览器和源服务器都没有办法判断报文的真伪。

这对于网络购物、网上银行等需要高度信任高度保密的应用场景来说是非常致命的。你想想你传输的金额被人修改了,密码被人明文看到了?

对于安全性要求不那么高的新闻、视频、搜索等网站来说,由于互联网上的恶意用户、恶意代理越来越多,也很容易遭到“流量劫持”的攻击,在页面里强行嵌入广告,或者分流用户,导致各种利益损失。

所以我们需要一个安全的网络协议。

通常认为,如果通信过程具备了四个特性,就可以认为是“安全”的,这四个特性是:机密性、完整性,身份认证和不可否认。

机密性指高度保密,除了发送方和接收方,其他人都无法访问传输的数据。

完整性指数据完整性,不可被篡改。

身份认证指可确认对方身份,保证只有指定服务器可以接收读取数据。

不可否认,指确认通信过程真实性,保证数据传输过程存在可查。

基于以上四个特性,我们引入了HTTPS,它为 HTTP 增加了刚才所说的四大安全特性。

HTTPS 其实是一个“非常简单”的协议,RFC 文档很小,只有短短的 7 页,里面规定了新的协议名“https”,默认端口号 443,至于其他的全部没有修改和增加。

也就是说,除了协议名“http”和端口号 80 这两点不同,HTTPS 协议在语法、语义上和 HTTP 完全一样,优缺点也“照单全收”(当然要除去“明文”和“不安全”)。

此文章为2月Day21学习笔记,内容来源于极客时间《透视HTTP协议》,强烈推荐该课程!

http://www.lryc.cn/news/24470.html

相关文章:

  • Anaconda常用命令总结,anaconda、conda、miniconda的关系
  • 【蓝桥杯入门到入土】最基础的数组你真的掌握了吗?
  • Java Set系列集合(Collections集合工具类、可变参数)
  • chromium构建原生AS项目-记录1
  • Mybatis-Plus 开发提速器:mybatis-plus-generator-ui
  • 李迟2023年02月工作生活总结
  • 【Python百日进阶-Web开发-Vue3】Day542 - Vue3 商城后台 02:Windi CSS 与 Vue Router4
  • Jupyter Lab | “丢下R,一起来快乐地糟蹋服务器!”
  • 分页与分段
  • 【UE4 】制作螺旋桨飞机
  • 五.家庭:亲情背后有理性
  • 【Leedcode】栈和队列必备的面试题(第三期)
  • 《图机器学习》-GNN Augmentation and Training
  • 【Node.js算法题】数组去重、数组删除元素、数组排序、字符串排序、字符串反向、字符串改大写 、数组改大写、字符替换
  • Win10系统开始菜单无法点击解决方法分享
  • libmodbus从linux访问window上的服务超时问题
  • 挑战图像处理100问(26)——双线性插值
  • NXP iMX8系列处理器Pin Multiplexing定义说明
  • 用Python的Supervisor進行進程監控以及自動啓動
  • Centos和Window系统下Frp内网穿透
  • 春招冲刺(四):flex布局面试题总结
  • 我的 System Verilog 学习记录(7)
  • canvas复习笔记(绘制直线、矩形、圆形、圆弧)
  • LeetCode 653. 两数之和 IV - 输入二叉搜索树
  • 【Datawhale图机器学习】图神经网络
  • 【项目精选】 javaEE采购管理系统(论文+视频+源码)
  • 【Servlet篇2】创建一个web项目
  • Allegro如何手动让静态铜皮避让过孔操作指导
  • Java使用SpringBoot的Filter来扩展管道请求
  • 「JVM 高效并发」锁优化