在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
HTTP与HTTPS有什么区别和联系?简单来说,HTTPS就是HTTP的加强版,这样子是不是好理解多了?当然啦,仔细分析下来,HTTP与HTTPS的区别和联系不止于此,下面是详细分析。
一、基本概念
1、HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。
HTTP默认工作在 TCP 协议 80 端口,用户访问网站http://打头的都是标准 HTTP 服务。
HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
2、HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
HTTPS默认工作在 TCP 协议443端口,它的工作流程一般如以下方式:
1、TCP 三次同步握手
2、客户端验证服务器数字证书
3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
4、SSL 安全加密隧道协商完成
5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。
二、HTTP和HTTPS的联系:
一般情况,HTTP 和 HTTPS 是相同的,因为采用的基础协议一样。作为 HTTP 或 HTTPS浏览器,设立连接到 Web 服务器指定的端口,当服务器接收到请求,通过资源定位器 URI 模式,资源可以被唯一指定,此时便返回一个状态码以及响应消息,这个响应消息可能是用户需要的信息信息、也有可能是指示某个错误信息(由http协议状态码得到某种 )。
三、HTTP与HTTPS 区别
HTTP明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
HTTP页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
HTTPS其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较HTTPS比HTTP要更耗费服务器资源。
以上就是HTTP与HTTPS的区别和联系,大家都弄清楚了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python调试常见异常汇总
在调试Python程序过程中,难免会遇到各种各样的异常情况。一般情况下,异常可能是因为开发者在编写程序的时候疏漏或者考虑不周全导致的。在开发过程中异常是不可避免的,当你遇到异常的时候回立刻反应他的问题所在吗?为了让大家更好的认识这些常见的异常,博学谷小编将Python调试过程中会产生的异常进行了整理。推荐大家收藏。
5037
2019-10-29 14:56:21
Python如何做自动化测试?
众做周知,自动测试的优势是显而易见的,它可以大大节省我们的时间,提高我们的工作效率。那么Python如何做自动化测试呢?本文将用Python编写一个简单的测试用例,并指导大家写做自动化测试的代码。如果大家对这个内容感兴趣,就赶紧来一起学习吧!
4494
2020-04-30 17:13:25
Python IDE和解释器的区别是什么?
经常会有刚刚入门Python的初学者把Python IDE与Python解释器弄混,其实它们是有本质区别的,有些人还会误认为配置Python环境就是配置IDE工具。那么,Python IDE和解释器的区别是什么呢?下面小编就带大家好好认识一下Python IDE和解释器。
5810
2020-08-12 16:31:12
带有参数的装饰器怎么使用?
假设当你使用@my_decorator语法时,是在应用一个以单个函数作为参数的一个包裹函数。Python里每个东西都是一个对象且这包括函数,掌握这点我们可以编写一下能返回一个包裹函数的函数。我们需要能自己写出带有参数的装饰器。
2297
2021-12-02 11:30:02
VSCode安装步骤及基本使用方法介绍
VSCode安装步骤及基本使用方法介绍,需要掌握安装和卸载VSCode的插件,知道怎么设置VSCode的颜色主题和字体大小。
2707
2021-12-10 16:00:06