HTTP和HTTPS的区别

一、两者概念

1.1 HTTP概念

HTTP 的全称是超文本传输协议(HyperText Transfer Protocol) 是一种用于分布式、协作式和超媒体信息系统的应用协议,简单来说就是一种分布和接收HTML页面的方法,被用于在Web浏览器和网站服务器之间传递信息。

HTTP 默认工作在TCP协议80端口,用户访问网站http://打头丶都是标准的HTTP服务

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者解读了Web浏览器的和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

1.2 HTTPS

HTTPS 的全称是超文本传输安全协议(HyperText Transfer Protocol Secure)是一种透过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网络服务器的身份验证,保护交换数据的隐私与完整性

HTTPS默认工作在TCP协议443端口,它的工作流程如以下方式:

1、TCP三次同步握手

2、客户端验证服务器数字证书

3、DH算法协商对称加密算法的密钥、hash算法是密钥

4、SSL安全加密隧道协商完成

5、网页以加密的放肆传输,用协商的对称假面算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。

二、两者区别

1、HTTP明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP)数据传输过程都是加密的,安全性较好。

2、使用HTTPS协议需要到CA(Certificate Authority,数字证书认证机构),申请证书,一般免费证书较少,因而需要一定的费用。证书颁发机构如:Symantec、ComDaddy和GlobalSign等等。

3、HTTP页面响应速度比HTTPS快,只要因为HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包,而HTTPS除了TCP的三个包,还要加上SSL握手需要的9个包,所以一共需要交换12个包

4、HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.

5、HTTPS其实就是构建在SSL/TLS之上的HTTP协议,所以要比较HTTPS比HTTP要更耗费服务器资源。

相关推荐
liulovesong1 小时前
2024/06/21/第三天
http·echarts
Trouvaille ~6 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
JoySSLLian8 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
猫头虎8 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
云姜.9 小时前
网络协议----OSI七层网络协议 和 TCP/IP四层(五层)网络协议
网络·网络协议
郝学胜-神的一滴10 小时前
深入解析C/S模型下的TCP通信流程:从握手到挥手的技术之旅
linux·服务器·c语言·网络·网络协议·tcp/ip
“αβ”10 小时前
数据链路层协议 -- 以太网协议与ARP协议
服务器·网络·网络协议·以太网·数据链路层·arp·mac地址
青春给了代码11 小时前
基于WebSocket实现在线语音(实时+保存)+文字双向传输完整实现
网络·websocket·网络协议
北京耐用通信11 小时前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
win x12 小时前
深入理解HTTPS协议加密流程
网络协议·http·https