在线客服
扫描二维码
下载博学谷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做小工具,录单审凭证不到1分钟就搞定了。把更多的时间花在财务分析上,更好更快地完成工作。
13554
2020-03-19 16:02:35
30岁零基础没学历学Python怎么样?30岁学习Python晚吗?
30岁零基础没学历学Python怎么样?30岁学习Python晚吗?任何时候开始都不晚。30岁开始学习Python听起来年纪有点大,大家认为编程上了年纪学习编程语言是一个劣势。想在三十岁的时候通过学习Python来谋求一份IT程序员工作,则需要有一个系统的计划。
7349
2020-03-20 14:24:22
Python进阶如何修改闭包内使用的外部变量?
Python进阶如何修改闭包内使用的外部变量?需要学习修改闭包内使用的外部变量所需要的关键字,掌握外部函数变量使用 nonlocal 关键字来完成代码运行。
4849
2021-12-03 17:22:54
HTTP协议的作用是什么?怎么用?
HTTP协议的作用是什么?怎么用?HTTP协议超文本传输协议,传输HTTP 协议格式的数据是基于 TCP 传输协议的,发送数据之前需要先建立连接。
7080
2021-12-17 16:17:58
JavaScript变量和数据类型有哪几种?
JavaScript变量和数据类型有哪几种?JavaScript 是一种弱类型语言,也就是说不需要指定变量的类型,js中有六种数据类型,包括五种基本数据类型和一种复杂数据类型(object)
5645
2021-12-27 14:10:21
