http和https的异同点和优缺点

一、https的工作原理

(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

(5)Web服务器利用自己的私钥解密出会话密钥。

(6)Web服务器利用会话密钥加密与客户端之间的通信。

二、HTTPS 的优缺点

优点
  • 可以对数据进行加密和身份验证,保护用户的隐私和安全。

  • 可以防止中间人攻击,避免数据被窃听或篡改。

  • 可以提高网站的信誉和排名,增加用户的信任和访问量。

  • 可以支持更多的功能和扩展,如 HTTP/2,WebRTC,Service 等。

缺点
  • 需要购买和维护数字证书,增加网站的成本和复杂度。

  • 需要消耗更多的服务器资源和网络带宽,降低网站的性能和速度。

  • 需要适配不同的浏览器和操作系统,解决兼容性和更新问题。

  • 可能影响一些缓存和优化策略,如 CDN,SPDY 等。

三、HTTP 的优缺点

优点

  • 简单:HTTP 是一种文本协议,易于理解和实现。HTTP 的请求和响应都由起始行、首部字段和可选的消息主体组成,每个部分都有明确的语法规则。HTTP 的方法、状态码和首部字段都有标准化的定义,方便开发者遵循。

  • 灵活:HTTP 是一种无状态协议,即每个请求和响应都是独立的,不依赖于之前或之后的交互。这使得 HTTP 可以支持多种类型的资源,如 HTML、图片、视频、音频等,也可以支持多种类型的客户端,如浏览器、手机、物联网设备等。HTTP 还可以通过扩展首部字段或使用其他协议(如 HTTPS、WebSocket)来增加新的功能或安全性。

  • 通用:HTTP 是一种广泛使用的协议,几乎所有的网站和应用都基于 HTTP 进行通信。HTTP 也是一种开放的协议,任何人都可以参与其发展和改进。HTTP 的标准由 IETF(互联网工程任务组)和 W3C(万维网联盟)制定和维护,经过了多年的演进和更新,目前最新的版本是 HTTP/2。

缺点

HTTP 协议是无状态的,即每次请求都是独立的,服务器不会保存客户端的任何信息。HTTP 协议也是明文的,即请求和响应的内容都是未加密的,任何人都可以在网络上截获并查看。

这样就导致了 HTTP 协议的几个缺点:

  • 通信使用明文(不加密),内容可能会被窃听:由于数据是明文传输的,任何人都可以知道用户访问了哪些网站,浏览了哪些内容,甚至分析出用户的喜好、习惯等个人信息,这些信息可能被用于商业利益或其他目的,侵犯了用户的隐私权。

  • 不验证通信方的身份,因此有可能遭遇伪装:由于服务器不会保存客户端的状态,客户端每次请求都需要提供身份信息,如 Cookie 或 Session,这些信息也可能被攻击者截获或伪造,导致身份认证失败或被冒充。

  • 无法证明报文的完整性,所以有可能已遭篡改:由于数据是明文传输的,攻击者可以轻易地获取用户的敏感信息,如账号、密码、银行卡号等,或者篡改数据内容,造成用户或网站的损失。

相关推荐
信息安全失业大专人员7 小时前
HTTP/HTTPS 协议精髓与 WAF(Web 应用防火墙)架构防线大底座
web安全·http·信息安全·https·企业信息安全
缪懿10 小时前
网络层和数据链路层中的常见协议解析
网络·网络协议·java-ee
Dazer00710 小时前
Edge 浏览器绕过 HTTPS 证书错误
前端·https·edge
田里的水稻11 小时前
OE_永久配置网络_linux系统终端命令行ip_setting
人工智能·网络协议·机器人·运维开发
辣椒思密达11 小时前
住宅IP与机房IP的区别及技术选型指南
网络·网络协议·tcp/ip
阿文的代码库12 小时前
用于事件驱动系统的WebSocket
网络·websocket·网络协议
不只会拍照的程序猿13 小时前
深入理解AFDX(ARINC 664 Part7):从原理到实现(上篇)
网络协议·航空总线·afdx·arinc 664
AIwenIPgeolocation13 小时前
IP+设备双维监控,让黑产的“秒拨”和“云手机”无所遁形
网络协议·tcp/ip·智能手机
TechWayfarer13 小时前
IP数据接口调用示例:社交软件如何做同城匹配与用户画像分析
python·网络协议·tcp/ip·社交电子
天天进步201514 小时前
Tunnelto 源码解析 #3:客户端启动流程:配置解析、鉴权 Key、本地地址与控制服务器连接
网络协议