当前位置 : 主页 > 编程语言 > 其它开发 >

学习HTTP——HTTPS

来源:互联网 收集:自由互联 发布时间:2022-05-14
前言 因为工作需要,需要用到大量的关于 HTTP 协议的知识,目前掌握的关于 HTTP 请求以及协议的知识都是零散的,打算针对知识盲区系统的学习一些,理清概念。 为什么会出现 HTTPS 因
前言

因为工作需要,需要用到大量的关于 HTTP 协议的知识,目前掌握的关于 HTTP 请求以及协议的知识都是零散的,打算针对知识盲区系统的学习一些,理清概念。

为什么会出现 HTTPS

因为 HTTP 存在一些难以解决的问题,以下是安全性的问题,这促使产生了 HTTPS。HTTP 在安全性方面,主要有以下的问题。

  • HTTP 采用明文传输,内容可能会被窃听
  • HTTP 不验证对方的身份,可能会遭遇伪装
  • HTTP 不验证内容的完整性,可能会遭遇篡改

既然又了上述问题,那么显然 HTTPS 就是要来解决这些问题。

HTTP + 加密 + 认证 + 完整性验证 = HTTPS 简介

从标题可以看出来,额外添加的功能,实际上正好对应上述 HTTP 所存在的问题,将他们逐个解决就形成了 HTTPS。
这里想先介绍两个概念。

  • SSL:Secure Socket Layer 安全套接层, 最初是由网景公司(Netscape)研发,因为发现 HTTP 存在安全性问题。后被IETF(The Internet Engineering Task Force - 互联网工程任务组)标准化后写入(RFCRequest For Comments),RFC里包含了很多互联网技术的规范。
  • TLS:由于HTTPS的推出受到了很多人的欢迎,在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0(Transport Layer Security 安全传输层协议),可以说TLS就是SSL的新版本3.1,并同时发布“RFC2246-TLS加密协议详解”。

这俩段是从网络上搜索得来的,可以看出来平时所说的 SSL/TLS 其实可以理解成一种加密方式即可,没必要分开来看,后文就称之为 SSL 了。得益于网络结构的分层设计,很容易在 HTTP 协议下加上一层。HTTP 一般直接和 TCP 进行通信,而 HTTPS 首先要经过 SSL 层,然后再和 TCP 通信。其实我学到这里的时候,很容易就能想到,有得必有失,HTTPS 增加了安全性,但是同时降低了性能,但是就目前的趋势来看,安全性肯定更重要,所以往后应该基本上都会采用 HTTPS 的方式吧。

到这里,可以认为 HTTPS 相比与 HTTP,多了一层 SSL,用来保证安全性。

  • HTTP:HTTP -> TCP
  • HTTPS: HTTP -> SSL -> TCP
加密

首先来看看加密,关于加密,就不得不说两种加密手段,对称加密和非对称加密,这两种方法在 HTTPS 中均有体现。

对称加密
上一篇:DNS软件bind-实现DNS服务器
下一篇:没有了
网友评论