HTTP VS HTTPS 简单介绍

294 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

通过问题看本质!!!

什么是HTTP呢?

我们先来看下网上是怎么介绍的。

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在[TCP]之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以[ASCII]形式给出;而消息内容则具有一个类似[MIME]的格式。这个简单模型是早期[Web]成功的有功之臣,因为它使开发和部署非常地直截了当。

既然有了HTTP,为什么还要用HTTPS呢?

一个技术的出现往往是为了解决一类问题。

打个比方,我们现在都是用手机支付了,很少用现金支付了。因为现金支付找零麻烦,出门还要带钱包...

所以手机支付能让我们更加方便,我们才会用。

HTTPS

在HTTP上建立SSL加密层,并对传输数据加密。

HTTPS = HTTP + SSL/TSL

SSL = 对称加密、非对称加密、散列函数

我们都知道HTTPS更加安全,所以反推可以知道,HTTP是不安全的。

网上果奔冲浪很危险!!!你可以想象,你在网上搜索的内容,你输入的账号、密码等等,这些数据都被别人获取,想想都令人毛骨悚然。

HTTPHTTPS
信息被窃听保证数据的安全性(加密明文数据)
信息被篡改保证数据的完整性
身份认证问题保证身份认证

由于HTTP是使用明文传输的特性:

在HTTP传输过程中,任何人都可能从中截取、修改或者伪造请求发送,所以是不安全的。

在HTTP传输过程中,不会验证通信方的身份,因此HTTP信息交换的双方可能遭到伪装。也就是没有用户验证。

在HTTP传输过程中,接收方和发送方并不会验证报文的完整性。

总结

一个技术的出现往往是为了解决一类问题 我们只要带着这种思路去思考,就能剥丝抽茧,把问题看得更加透彻。

比如说,HTTPS对比HTTP的劣势在哪里? HTTPS安全,安全的话就需要加密,加密的话就会影响效率。

HTTPS安全->加密->效率。我们就可以从这几个关键词去具体的分析问题了。