加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

HTTP协议是如何实现“秘密交互”的?

发布时间:2019-04-10 03:20:21 所属栏目:教程 来源:老钟
导读:副标题#e# 你知道HTTP访问的交互过程吗? 如题,可能有很多并不了解,本文将简单地介绍一下当你访问某网站时你的电脑与网站之间的数据交互过程。 大家都知道去访问网站都是使用浏览器,在地址栏中输入你想访问的链接,按个回车就能打开相应的网站。然后就可
副标题[/!--empirenews.page--]

HTTP协议是如何实现“秘密交互”的?

你知道HTTP访问的交互过程吗?

如题,可能有很多并不了解,本文将简单地介绍一下当你访问某网站时你的电脑与网站之间的数据交互过程。

大家都知道去访问网站都是使用浏览器,在地址栏中输入你想访问的链接,按个回车就能打开相应的网站。然后就可以尽情得浏览网页内容了。

那你知道WEB页面如何呈现的吗?

网页内容肯定不会凭空出现,当你在浏览器地址栏中输入URL(链接)时,WEB浏览器会发送相应的WEB请求信息到目标网站(服务器),当目标网站服务器接收到请求时服务器回应相应的内容给你的浏览器(客户端),这样你就看到了网页内容。

不过这只是基本的访问过程。这也是HTTP或HTTPS协议的数据交互的过程,但这个看似非常简单的交互过程中隐藏着很多小交互过程,下面就来一个一个研究一下。

HTTP和HTTPS的区别

首先,先来扫个盲,平常我们在浏览网页的时候可有很少关注这个网站是使用什么协议进行交互的,网页数据交互分为两种方式,一种就叫HTTP,别一种叫HTTPS。这两种方式我们都统称是HTTP协议,但却各有技术上的不同点。

一般情况下,如果你访问的网页不需要你登陆或者并没有登陆入口的这种网站通常情况下都会使用HTTP,但这不是绝对的,有些网站可能并不是这样的。那怎么样的网站才叫使用HTTP协议的呢?看下图:

这是一个典型的HTTP协议交互的网站,看图中标识的位置,在地址栏中的最开始位置,有个“不安全”提示,在URL的最前端也没有任何标识。除了这种HTTP协议交互的网站以外呢就是HTTPS交互的网站的,这一类的网站是比较多的。

一般情况下,当这个网站需要登陆或者有登陆入口的,又或者这个网站提供了用户数据的这一类网站通常都是HTTPS的,这类的网站非常多,比如网银,比如邮箱等,又比如拼客学院官网:

看地址栏当中,明显与HTTP协议交互的网站不一样,地址栏位置没有标识不安全,而且在URL的最前面标识了HTTPS://协议,这就是典型的HTTPS。我刚才说只要有登陆入口或者需要登陆网站基本都是用HTTPS,请注意,这不是绝对,你去看看上面4399小游戏那个网站,也是可以登陆的,这个网站可没有使用HTTPS协议哦。

上面介绍了两个协议,那这两个协议仅仅只是URL不一样这么简单吗?答案肯定不是的,我刚才有提到登陆,有登陆一般是HTTPS,没有则一般是HTTP。既然关系到登陆,那就一定跟用户数据有关系,那就需要有安全的保证,从上图HTTP协议的URL中也看到不安全提示,意思也就是没有安全的保证,用户的数据有可能会被窃取,因此,HTTPS是安全的,HTTP则是不安全的。

它们的安全性主要体现在你的电脑(客户端)与目标网站服务器之间,当你去访问网站时,你的登陆信息,你的个人信息是被加密传送的,如果在传送数据中间,有黑客获取了你的数据也不担心,黑客一般无法破解你的信息,这个过程是安全的。而HTTP则不同了,黑客可以不费任何力气地得到你的信息,看下图:

从上图看,黑客在网络中窃取了用户与Web服务器交互的数据,但拿到的信息只是乱码,并不能正常显示,也没办法破解。因此即使用户发送的是用户名密码这样的重要信息也不怕被窃取。

从上图来看,使用HTTP协议来进行传递用户名密码,黑客在网络中获取了交互信息,可以轻松地查看到用户发送的用户名信息,这是一个非常危险的动作,如果你发送的是银行卡账号密码的话后果将会很严重……

从上面两张图的对比不难得出结论,HTTPS是加密的,而HTTP是没有加密的,因此黑客能够直接查看到用户名密码。在实际生活中我们常用的网站基本都是基于HTTPS协议的,大家也不必感到惊慌,日常使用其实还是很安全的。

关于加密的问题

01 非对称密钥算法

在HTTPS协议中使用RSA加密算法,这种加密算法是一种非对称加密算法,广泛用于网页加密。

非对称密钥算法会产生公钥和私钥两种密钥,一种用于加密,另一种就用于解密,而且两个密钥是完全不一样完全不可相互推导。公钥是发送给所有人的,而私钥是拥有者自己妥善保管的。

它的工作过程是:用户要把重要的东西加密会用接收者的公钥对数据进行加密,然后将加密后的文件发送到接收端,接收者接收到加密的文件后用自己的私钥对其进行解密就能够得到明文。如下图所示:

明文使用接收方的公钥对其加密就得到密文了,这个过程就是加密的过程,密文在互联网中传递时不用担心被窃取的问题。当密文被传递到接收端,接收方再使用自己的私钥对其解密,这个过程就是解密的过程。

这个方法看似很好用,但实际上并不是这样的,因为像这样的非对称密钥算法只有够加密很小小的数据,超过几百KB的文件都无法加密或加密需要非常长的时间,实际的应用中数据传递可不止区区几百KB这么点,因此非对称密钥算法只能加密密钥等数据非常小的东西,没错,你没看错,就是加密密钥。那实际应用中这么大的数据又是怎么加密的?下面就再来讲讲对称密钥算法。

02 对称密钥算法

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读