Skip to content

HTTP 和 HTTPS 的区别

cxuan edited this page Jun 25, 2020 · 1 revision

HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol)HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范

HTTP 主要内容分为三部分,超文本(Hypertext)、传输(Transfer)、协议(Protocol)

  • 超文本就是不单单只是本文,它还可以传输图片、音频、视频,甚至点击文字或图片能够进行超链接的跳转。
  • 上面这些概念可以统称为数据,传输就是数据需要经过一系列的物理介质从一个端系统传送到另外一个端系统的过程。通常我们把传输数据包的一方称为请求方,把接到二进制数据包的一方称为应答方
  • 而协议指的就是是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为协议,只不过是网络协议。

说到 HTTP,不得不提的就是 TCP/IP 网络模型,一般是五层模型。如下图所示

但是也可以分为四层,就是把链路层和物理层都表示为网络接口层

还有一种就是 OSI 七层网络模型,它就是在五层协议之上加了表示层和会话层

而 HTTPS 的全称是 Hypertext Transfer Protocol Secure,从名称我们可以看出 HTTPS 要比 HTTPS 多了 secure 安全性这个概念,实际上, HTTPS 并不是一个新的应用层协议,它其实就是 HTTP + TLS/SSL 协议组合而成,而安全性的保证正是 TLS/SSL 所做的工作。

也就是说,HTTPS 就是身披了一层 SSL 的 HTTP

那么,HTTP 和 HTTPS 的主要区别是什么呢?

  • 最简单的,HTTP 在地址栏上的协议是以 http:// 开头,而 HTTPS 在地址栏上的协议是以 https:// 开头
http://www.cxuanblog.com/
https://www.cxuanblog.com/
  • HTTP 是未经安全加密的协议,它的传输过程容易被攻击者监听、数据容易被窃取、发送方和接收方容易被伪造;而 HTTPS 是安全的协议,它通过 密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法 能够解决上面这些问题。

  • HTTP 的默认端口是 80,而 HTTPS 的默认端口是 443。
Clone this wiki locally