HTTP学习笔记 2018-08-07

2018-08-07_HTTP与HTTPS笔记

HTTP的缺点

  1. 通信使用明文, 内容可能被窃听

  2. 不验证通信方的身份, 因此有可能遭遇伪装

  3. 无法证明报文的完整性, 所有有可能已经遭到篡改

通信使用明文可能会被窃听


1. 通信加密

通过SSL(Secure Socket Layer安全套接层) 或者 TLS(Transprt Layer Security 安全传输层协议)对传输过程进行加密


2. 内容加密

服务器端和客户端之间的加密

不验证对方的身份可能会被伪装


1. 任何人都可以发起请求

HTTP协议通信 不存在确认通信方的处理步骤, 所以任何人都可以发起请求, 而且服务器只要收到请求, 不管对方是谁都会返回一个响应

1. 无法确定请求发送至目标的WEB服务器是否是按真实意图返回响应的那台服务器, 有可能是已伪装的WEB服务器
2. 无法确定响应回到的客户端是否是按照真实意图接受响应的那个客户端
3. 无法确定正在通信的对方是否具有访问权限, 因为某些WEB服务器上保存着重要的信息, 只想发给特定用户通信的权限
4. 无法判定请求是来自何方, 出自谁手
5. 即使是无意义的请求也会照单全收. 无法阻止海量请求下的DoS攻击(拒绝服务攻击)   


2. 查明对手的证书

通过使用证书来完成通信双方的身份验证

无法证明报文的完整性


1. 接受到的信息可能有误

如: 中间人攻击(MITM)


2. 如何防止篡改

通常使用 MD5 , SHA-1等散列值校验的方法
PGP创建数字签名

HTTPS


1. HTTPS并不是一种新的协议,而是HTTP通信接口部分用SSL和TLS协议代替

结构变化

HTTP:  应用层(HTTP) -> TCP -> IP

HTTPS: 应用层(HTTP) -> SSL -> TCP -> IP


2. HTTPS采用混合加密机制

1.使用公钥发送共享秘钥
2.使用共享秘钥加密方式    

HTTPS通信步骤

  1. 客户端通过发送 Client Hello 报文开始 SSL 通信, 报文中包含客户端支持的SSL的指定版本, 加密组件列表(Cipher Suite)(所使用的加密算法以及秘钥长度等)

  2. 服务器可进行SSL通信时, 会以 Server Hello 报文作为应答, 和客户端一样, 在报文中包含 SSL 版本以及加密组件, 服务器的加密组件内容是从接收到的客户端加密组件内筛选出来的

  3. 之后服务器端发送 Certificate 报文 报文中包含公开秘钥证书

  4. 最后服务器发送 Server Hello Done 报文通知客户端, 最初阶段的 SSL 握手协商部分结束

  5. SSL第一次握手结束之后, 客户端以Client Key Exchange 报文作为回应. 报文中包含通信加密中使用的一种被称为 Pre-master secret 的随机密码串. 该报文已用步骤3中的公开密钥进行加密

  6. 接着客户端继续发送Change Cipher Spec报文. 该报文会提示服务器, 在此报文之后的通信中会使用Pre-master secret密钥加密

  7. 客户端发送Finished报文. 该报文包含链接至今全部报文的整体校验值. 这次握手协商是否能成功, 要以服务器是否能够正确解密该报文作为判定标准

  8. 服务器同样发送 Change Cipher Spec报文

  9. 服务器同样发送 Finished 报文

  10. 服务器和客户端 Finished 报文交换完毕之后, SSL连接就算建立完成. 当然, 通信会受到SSL的保护, 当然, 通信会受到SSL的保护. 从此处开始进行应用层协议的通信, 即发送HTTP请求

  11. 应用层协议通信, 即发送HTTP响应

  12. 最后由客户端断开连接. 断开连接时, 发送close_notify报文, 上图做了一些省略, 这步之后再发送TCP FIN报文来关闭与TCP的通信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值