HTTPS协议学习
http的缺点:(其他一些未加密的协议中也存在)
- 通信使用明文(不加密),内容可能会被窃听
- 不验证通信方的身份,因此有可能遭遇伪装
- 无法证明报文的完整性,所以有可能已遭篡改
TCP/IP是可能被窃听的网络,可以通过加密处理防止被窃听--加密技术。可以加密的对象:
- 通信的加密(http协议没有加密机制,但可以通过和SSL或TLS的组合使用,加密http的通信内容)。用ssl建立安全通信线路之后,就可以在这条线路上进行http通信,与ssl组合使用的http被称为https。
- 内容的加密(将参与通信的内容本身加密,即把http报文里所含的内容进行加密处理)。前提是要求客户端和服务器同时具备加密和解密机制。主要应用在web服务中。(第三方攻击,内容有可能被篡改)
http协议的实现本身非常简单,不论是谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下各种隐患:
- 无法确定请求发送至目标的web服务器是否按真实意图返回响应的那台服务器,有可能是已经伪装的web服务器
- 无法确定响应返回的客户端是否是按真实意图接收响应的那个客户端,有可能是已伪装的客户端
- 无法确定正在通信的对方是否具备访问权限。因为某些web服务上保存着重要的信息,只想发给待定用户通信的权限
- 无法判定请求来自何方,出自谁手
- 即使无意义的请求也会响应,可能会造成DOS攻击(拒绝服务攻击)
SSL
ssl不仅提供加密处理,还使用一种证书手段。证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。另外,伪造证书从技术手段来说异常困难。可以说是当今世界上应用最为广泛的网络安全术。
如何防止通信内容被篡改
可以使用MD5、SHA系列等散列值校验的方法。
HTTPS
HTTP+加密+认证+完整性保护 = HTTPS
采用混合加密机制(共享密钥加密和公开密钥加密两者并用的混合加密机制)其中,公开密钥加密比共享密钥加密的处理速度要慢。
转自:https://www.cnblogs.com/zxj015/p/6530766.html
HTTPS协议学习的更多相关文章
- HTTPS协议学习总结
目录 一:什么是HTTPS协议?二:客户端与服务端如何建立HTTPS协议连接?三:证书.加密协议.信息摘要.签名算法概念解释与关系梳理四:低版本操作系统作为客户端发送HTTPS失败分析五:参考资料 ...
- HTTPS协议学习笔记
在前一段时间准备面试的时候,面试官反复提到了HTTPS这个协议.我只是单纯的知道,HTTPS是安全的应用层协议 是HTTP更安全的版本,通过对称密钥加密.但是具体的其他的,可能我不太了解.今天就专门抽 ...
- 网络协议学习笔记(六)http和https
概述 之前讲解了传输层的相关知识,现在讲解一下关于应用层的知识,主要是大家所熟悉的http和https,这2中是咱们最熟悉的协议了,但是也是最不熟悉的协议. HTTP协议:看个新闻原来这么麻烦 HTT ...
- https、ssl、tls协议学习
一.知识准备 1.ssl协议:通过认证.数字签名确保完整性:使用加密确保私密性:确保客户端和服务器之间的通讯安全 2.tls协议:在SSL的基础上新增了诸多的功能,它们之间协议工作方式一样 3.htt ...
- 深入理解http/https协议
深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...
- HTTP协议学习
面试过程中又一个常见的问题,http协议,因为做服务器开发如果用http协议的话,现在各种开源软件都封装好了,python中只需要简单的继承定义好的类,重写get或者post等方法,几行代码就可以搭建 ...
- http协议学习系列
深入理解HTTP协议(转) http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列 1. 基础概念篇 1.1 介绍 H ...
- HTTPS的学习
HTTPS的学习总结 HTTPS学习总结 简述 HTTPS对比HTTP就多了一个安全层SSL/TLS,具体就是验证服务端的证书和对内容进行加密. 先来看看HTTP和HTTPS的区别 我用AFN访问 ...
- 关于HTTP协议学习(三)
一,目录结构 HTTPS HTTP/2 HTTP 安全 HTTP 面试 HTTP 爬虫 HTTP 资源 HTTP 抓包工具及教程 Chrome HTTP 插件 HTTP 代理服务器 HTTP 图书 二 ...
随机推荐
- 第三天:numpy库
PS: 这个好像是Python2.X版本的使用. 这个课件的numpy的介绍还是太少了,有点凌乱的感觉,要是后面还是要以<利用Python进行数据分析>做numpy和pandas课件笔记比 ...
- c/c++面试题一
1.找错 void test1() { char string[10]; char *str1="0123456789"; strcpy(string,str1); } 试题一字符 ...
- PHP多进程的实际处理
多进程应用大批量的数据是非常舒服的一件事情. 处理之前理解两个概念:孤儿进程和僵尸进程 孤儿进程: 是指父进程在fork出子进程后,自己先完了.这个问题很尴尬,因为子进程从此变得无依无靠.无家可归,变 ...
- codeforces 3b之贪心算法
有货车运量V:有若干物品A 占2单位体积,有若干物品B占1单位体积:相同种类的物品价值不一定一样: 序号按照输入顺序而定:问货车可以拉走最多多少价值的物品,并输出所选物品的序号: 1)常规的解法思路: ...
- Unity资源内存管理--webstream控制
一 使用前提 1,需要使用资源热更新 2,使用Assetbundle资源热更(AssetBundle是产生webstream的元凶) 二 为什么要用AssetBundle AssetBundle本质上 ...
- Java容器解析系列(10) Map AbstractMap 详解
前面介绍了List和Queue相关源码,这篇开始,我们先来学习一种java集合中的除Collection外的另一个分支------Map,这一分支的类图结构如下: 这里为什么不先介绍Set相关:因为很 ...
- SharePoint Framework 向web部件中添加外部库
博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...
- JS 返回上一页并刷新代码整理
一:JS 重载页面,本地刷新,返回上一页: <a href="javascript:history.go(-1)">返回上一页</a> <a href ...
- java知识点总结----java入门(1)
1.首先的明白什么是java? 1.java是一门编程语言 2.java是开发环境 3.java是运行环境 2.java概况--java构架 1.J2SE (Java2 Standard Editio ...
- FCC-js算法题解题笔记
题目链接:https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/intermediate-algorithm ...