HTTP——学习笔记(5)
我们通信的过程中会有哪些风险?:
1.HTTP不会对通信方的身份进行确认
因为HTTP协议中的请求和相应不会对通信方进行确认,就是不管发送或接收信息的人是不是之前的人,都不妨碍信息的发送或接收。
缺点:1.无法确定请求发送至目标的WEB服务器是否是按真实意图返回响应的那台服务区。有可能是已伪装的WEB服务器
2.无法确定响应返回到的客户端是否是按真是意图接受响应的那个客户端。有可能是已伪装的客户端
3.无法确定正在通信的对方是否具备访问权限。因为某些WEB服务器上保存着重要的信息,只想发给特定用户通信的权限
4.无法判定请求是来自何方,出自谁手
5.即使是无意义的请求也会照单全收。无法阻止海量请求下的DOS攻击(Denial of Service,拒绝服务攻击)
2.接受到的内容可能有误
HTTP中没有任何办法确认发出的请求响应和接受到的请求响应是前后相同的,其在发送的过程中有可能会发生被篡改,像这样,请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击
http中信息的安全性怎样提高的?:
通信加密:
通过SSL或TLS组合使用,加密HTTP的通信内容,用SSL组合使用的HTTP被称为HTTPS(超文本传输安全协议)或HTTP over SSL。注意是将通信线路加密
内容加密:
HTTP协议中没有加密机制,所以也可以对HTTP协议传输的内容本身加密,即把HTTP报文里所含的内容进行加密处理,客户端需要对HTTP报文进行加密处理后再发送。采用这种加密机制必须要求客户端和服务器同时具备加密和解密机制。注意由于这种方式只是对内容进行加密,所以仍有被篡改的风险。
SSL是怎样保证通信安全的?:
SSL不仅提供加密处理,还使用了一种证书手段,可用于确定方
证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。另外,伪造证书从技术角度来说是异常困难的一件事。所以只要能够确认通信方(服务器或客户端)持有的证书,即可判断通信方的真实意图。
服务器端使用证书可以减少客户端的个人信息泄漏的危险性
客户端持有证书可以完成个人身份的确认,也可用于对WEB网站的认证环节
怎样防止通信内容在传输过程中被篡改?:
MD5和SHA-1等散列值校验的方法
原理:提供文件下载服务的WEB网站提供相应的以PGP(完美隐私)创建的数字签名及MD5算法生成的散列值。PGP是用来证明创建文件的数字签名,MD5是由单向函数生成的散列值。不论使用那一种方法,都需要操纵客户端的用户本人亲自检查验证下载的文件是否就是原来服务器上的文件,浏览器无法自动帮用户检查。
缺点:用这种方法也不能百分百保证结果正确,因为PGP和MD5本身也有可能被改写
HTTP——学习笔记(5)的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- Cookie和Session有什么区别
1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识别具体的用户,这个机制就是Session. 典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状 ...
- IOS - 6\7下UINavigationBar的颜色的方法改变 ——转载http://www.th7.cn/Program/IOS/201310/155057.shtml
IOS7下设置UINavigationBar的颜色的方法已经改变(当然如果是用自定义图片的话请忽略---) 首先是区别iOS7和之前版本的方法如下: //如果是iOS7以前的话if (floor(NS ...
- 搭建hadoop java开发环境
package hadoopDemo; import java.io.IOException; import java.net.URI; import java.net.URISyntaxExcept ...
- 安装虚拟机和Linux系统
- 安装虚拟机 点击下载虚拟机 点击下载Linux系统 菜鸟网的Linux系统教程 1.安装虚拟机 在弹出的面板中选择标准--继续. 选择第二个选项,因为我们下载的光盘的镜像,所以直接选择刚才的dvd ...
- plsql 中出现 Dynamic Performance Tables not accessible 问题解决
产生该提示原因: plsql dev在用户运行过程中,要收集用户统计信息,但是由于你现在登录的用户没有访问v$session,v$sesstat and v$statname视图的权限, 所以不能收集 ...
- 循环语句第3种 FOR ... in ... LOOP END LOOP;
--------第3种-------- FOR ... in ... LOOP END LOOP; BEGIN FOR i IN 1..10 LOOP dbms_output ...
- extjs动态导入
Ext.Loader.setConfig({enabled: true}); Ext.Loader.setPath("util", "../wx/jsUtil" ...
- 文件类似性推断 -- SimHash
近期调研了一下simhash算法,它主要用在谷歌网页去重中.网上有非常多原理性的介绍. 既然能够用来推断文件的相似性,就想知道效果怎么样.simhash的准确度是否依赖于分词算法?是否和simhash ...
- 2 怎样解析XML文件或字符串
1 引用XML文件 2 使用XMLReader解析文本字符串 3 使用XMLReader方法读取XML数据 详细代码实现例如以下: //初始化一个XML字符串 String xmlString = @ ...
- 使用C++实现学生管理系统
我在前面的博客中分别使用C语言的动态数组和链表实现了学生成绩管理系统.近期正好在学习C++,于是我便使用C++实现了学生成绩管理系统.算法和前面的C语言的动态数组实现的学生成绩管理系统几乎相同,仅仅是 ...