http的缺点:(其他一些未加密的协议中也存在)

  1. 通信使用明文(不加密),内容可能会被窃听
  2. 不验证通信方的身份,因此有可能遭遇伪装
  3. 无法证明报文的完整性,所以有可能已遭篡改

TCP/IP是可能被窃听的网络,可以通过加密处理防止被窃听--加密技术。可以加密的对象:

  • 通信的加密(http协议没有加密机制,但可以通过和SSL或TLS的组合使用,加密http的通信内容)。用ssl建立安全通信线路之后,就可以在这条线路上进行http通信,与ssl组合使用的http被称为https。
  • 内容的加密(将参与通信的内容本身加密,即把http报文里所含的内容进行加密处理)。前提是要求客户端和服务器同时具备加密和解密机制。主要应用在web服务中。(第三方攻击,内容有可能被篡改)

http协议的实现本身非常简单,不论是谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下各种隐患:

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

SSL

ssl不仅提供加密处理,还使用一种证书手段。证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。另外,伪造证书从技术手段来说异常困难。可以说是当今世界上应用最为广泛的网络安全术。

如何防止通信内容被篡改

可以使用MD5、SHA系列等散列值校验的方法。

HTTPS

HTTP+加密+认证+完整性保护 =  HTTPS

采用混合加密机制(共享密钥加密和公开密钥加密两者并用的混合加密机制)其中,公开密钥加密比共享密钥加密的处理速度要慢。

转自:https://www.cnblogs.com/zxj015/p/6530766.html

HTTPS协议学习的更多相关文章

  1. HTTPS协议学习总结

    目录 一:什么是HTTPS协议?二:客户端与服务端如何建立HTTPS协议连接?三:证书.加密协议.信息摘要.签名算法概念解释与关系梳理四:低版本操作系统作为客户端发送HTTPS失败分析五:参考资料   ...

  2. HTTPS协议学习笔记

    在前一段时间准备面试的时候,面试官反复提到了HTTPS这个协议.我只是单纯的知道,HTTPS是安全的应用层协议 是HTTP更安全的版本,通过对称密钥加密.但是具体的其他的,可能我不太了解.今天就专门抽 ...

  3. 网络协议学习笔记(六)http和https

    概述 之前讲解了传输层的相关知识,现在讲解一下关于应用层的知识,主要是大家所熟悉的http和https,这2中是咱们最熟悉的协议了,但是也是最不熟悉的协议. HTTP协议:看个新闻原来这么麻烦 HTT ...

  4. https、ssl、tls协议学习

    一.知识准备 1.ssl协议:通过认证.数字签名确保完整性:使用加密确保私密性:确保客户端和服务器之间的通讯安全 2.tls协议:在SSL的基础上新增了诸多的功能,它们之间协议工作方式一样 3.htt ...

  5. 深入理解http/https协议

    深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...

  6. HTTP协议学习

    面试过程中又一个常见的问题,http协议,因为做服务器开发如果用http协议的话,现在各种开源软件都封装好了,python中只需要简单的继承定义好的类,重写get或者post等方法,几行代码就可以搭建 ...

  7. http协议学习系列

    深入理解HTTP协议(转)  http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列   1. 基础概念篇 1.1 介绍 H ...

  8. HTTPS的学习

    HTTPS的学习总结   HTTPS学习总结 简述 HTTPS对比HTTP就多了一个安全层SSL/TLS,具体就是验证服务端的证书和对内容进行加密. 先来看看HTTP和HTTPS的区别 我用AFN访问 ...

  9. 关于HTTP协议学习(三)

    一,目录结构 HTTPS HTTP/2 HTTP 安全 HTTP 面试 HTTP 爬虫 HTTP 资源 HTTP 抓包工具及教程 Chrome HTTP 插件 HTTP 代理服务器 HTTP 图书 二 ...

随机推荐

  1. Spring Boot:Web 综合开发

    Web 开发 Spring Boot Web 开发非常的简单,其中包括常用的 json 输出.filters.property.log 等 json 接口开发 在以前使用 Spring 开发项目,需要 ...

  2. 4ci

  3. 【转载】如何查看Mysql是否已经安装

    原文地址: https://jingyan.baidu.com/article/fd8044fa2ecaf35030137a42.html MySQL是关系型数据库管理系统,是目前最流行的关系型数据库 ...

  4. 【Java集合系列五】HashMap解析

    2017-07-31 19:36:00 一.简介 1.HashMap作用及使用场景 HashMap利用数组+单向链表的方式,实现了key-value型数据的存储功能.HashMap的size永远是2^ ...

  5. 部署安装kubernetes client-python,执行pip install setup.py时报错

    之前在本地安装过kubernetes的python库,安装下来一切正常,但今天换到测试机器上去部署,确保错了,具体步骤如下. 第一步,克隆代码,执行以下命令:    # git clone --rec ...

  6. There/Here be句型

    (1)There/Here + (be)根据上下文, 有多种翻译方法,可以翻译成"有", "是". be动词根据后面的名词有单复数变化. There is a ...

  7. 最近在研究syslog日志,就说一下syslog格式吧

    syslog格式:<PRI>HEADER MESSAGE syslog的消息长度:不超过1024.syslog格式举例:<15>Jul 10 12:00:00 192.168. ...

  8. day16 面向对象二

    类的成员之变量 1. 实例变量. 对象.xxx = xxx 2. 类变量. 直接写在类中的变量就是类变量. 类变量一般用类名来访问. 对象中共性的属性提取出来. 例: class A: a = 1 # ...

  9. 从运维的角度理解Iaas、Paas、Saas云计算

    平时我们的运维工作,大致就是了解需求.申请服务器.配置网络.服务器软件安装.应用部署.数据存储.系统调优.平台维护等 按照Iaas.Paas.Saas的三层来分工我们平时的任务: 最底层的Iaas层提 ...

  10. JS 删除Array对象中的元素。

    var idTemp=new Array(); var nameTemp = new Array(); nameTemp.splice($.inArray(“1”, nameTemp),1); idT ...