美文网首页
HTTP学习笔记#3

HTTP学习笔记#3

作者: BeckJiang | 来源:发表于2016-05-16 23:44 被阅读64次

一、HTTP的缺点

1. 通信使用明文(不加密),内容有可能会被窃听

因为按TCP/IP协议族的工作机制,通信内容在所有的通信线路上都有可能遭到窥视。即使已经对数据进行了加密,也是会被窥视到通信内容,这点和为加密的通信时一样的。只是加密后的数据,被窥视了,也无法破解报文的含义。(加密处理后的报文信息还是会被看到)

通信的加密

HTTP协议中没有加密机制,但可以通过和SSL (Secure Socket Layer,安全套接层) 或TLS (Transport Layer Security,安全传输层协议) 的组合使用,加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS (HTTP Secure,超文本传输安全协议)或HTTP over SSL。

内容的加密

由于HTTP协议没有加密机制,那么就对HTTP协议传输的内容本身加密,即由客户端对HTTP报文进行加密处理后再发送请求。

为了做到有效的内容加密,前提是要求客户端和服务器同时具备加密和解密机制。但是该方式与SSL和TLS将整个通信线路机密处理,所以内容仍有被篡改的风险。

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

任何有都可发起请求

HTTP协议不论是谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下各种隐患。

  • 无法确定返回请求响应的服务器是否是已伪装的Web服务器。
  • 无法确定接受响应的那个客户端是否是已伪装的客户端。
  • 无法确定通信的对方是否具备访问权限。
  • 即使无意义的请求也会处理,无法阻止海量请求下的Dos攻击。

查明对手的证书

HTTP无法确认对方身份,而SSL可以。SSL不仅具有加密功能,还有使用了一种被称为证书的手段,可用于确定对方。

证书是由值得信赖的第三方机构颁发,用以证明服务器和客户端的实际存在。伪造证书从技术角度来说是异常困难的事,所以只要能确认通信方持有证书,即可判断通信方的真实意图。

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

收到的内容可能有误

由于HTTP协议无法证明通信的报文完整性,所以请求或响应的内容遭到篡改,也没有办法获悉。

比如我在某个网站下载内容,是无法确定客户端下载的文件和服务器上存放的文件是否前后一致。像这样,请求或响应在传输中,遭攻击者拦截并篡改内容的攻击称为中间人攻击。

如何防止篡改

HTTP协议为了确定报文完整性,常用的方法有MD5和SHA-1等散列值检验的方法。

提供文件下载的网站也会提供响应的以PGP创建的数字签名及MD5算法生成的散列值。但不论哪一种方法,都需要操作客户端的本人进行人工检验。而且本身查看的PGP和MD5也有可能被改写,用户是没办法意识到的。

所以有了有效防止这些弊端,有必要使用HTTPS。

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

1. HTTPS是披着SSL外壳的HTTP

HTTPS不是应用层的新协议,只是HTTP接口部分用SSL和TLS协议代替而已。SSL独立与HTTP,除了HTTP协议,其他应用层的协议如:SMTP和Telnet等协议也可以跟SSL配合使用。

2. 对成加密与非对称加密技术

3. HTTPS使用混合加密机制

4. 认证证书

相关文章

  • HTTP学习笔记(3)

    这两天一直在帮同事做VBA的编程。主要实现的是自动判断人员考核类型,以及自动匹配考核关系。是目前以来碰到的逻辑最复...

  • HTTP学习笔记#3

    一、HTTP的缺点 1. 通信使用明文(不加密),内容有可能会被窃听 因为按TCP/IP协议族的工作机制,通信内容...

  • Web学习笔记3 -- HTTP

    HTTP1.1与HTTP2在web应用中都很常见,但是他们有什么区别和联系一直很困扰我,于是花了一阵子看了一些文章...

  • HTTP协议学习笔记(3)

    三次握手与四次挥手 1. 三次握手 还是要祭出那张熟悉的图 第一次握手:首先由客户端主机主动发起建立连接的请求该请...

  • 2019-10-22

    今日学习计划: 1.详细了解TCP, UDP, QUIC,写下笔记。 2.详细了解HTTP,HTTP2,HTTP3...

  • HTTP 状态码

    学习《图解HTTP》-笔记3 HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常...

  • http系统学习笔记(3)

    1.web的结构组件 2.代理: 就是说在客户端在服务器之间多了一个转发请求的代理,该代理可以对请求和响应体进行篡...

  • 两天学完MySQL的一些笔记,让建库到跑路不在只是个梗

    sql笔记重要提醒:每行语句结尾都要; w3school学习网址http://www.w3school.com.c...

  • HTTP学习笔记

    Web 页面的实现 Web 基于 HTTP 协议通信 客户端(Client)的 Web 浏览器从 Web 服务器端...

  • HTTP学习笔记

    最近在温习http,就把笔记复习整理了下! 1.0 网络基础TCP/IP 通常使用的网络(包含互联网)是在TCP/...

网友评论

      本文标题:HTTP学习笔记#3

      本文链接:https://www.haomeiwen.com/subject/vjtbrttx.html