【Web】https 与 http 的区别

文章目录

一、基本概念

http :超文本传输协议,一种网络传输协议,一个客户端和服务器请求和应答的标准(TCP)。
https :简单讲就是在http基础上 使用 SSLTLS 对请求和响应进行加密,建立一个信息安全通道。

  • https 工作原理:
js 复制代码
1. 客户端使用 https url 访问服务器,要求与 web 服务器建立 ssl 连接
2. web 服务器接收到客户端的请求之后,会将网站的数字证书(包含了公钥),传送一份给客户端
3. 客户端的浏览器和web服务器端,开始协商ssl/tls链接的安全等级,也就是加密等级。
4. 协商一致后,客户端的浏览器建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
5. 然后 web 服务器通过自己的私钥解密出会话密钥
6. 最后 web 服务器再通过会话密钥加密与客户端之间的通信
  • http 缺点:
js 复制代码
1. 通信使用明文,内容可能会被窃听。
2. 不验证通信方的身份,因此有可能遭遇伪装。
3. 无法证明报文的完整性,所以有可能已遭篡改。
  • https 优势:使得 http 协议可认证用户和服务器,确保真实数据发送到正确的客户机和服务器上,并且有助于防止未经授权访问敏感数据。

二、区别对比

  1. 加密:
    https 由 http 和 ssl(或 tls) 协议构建的可进行加密传输和身份认证的网络协议,因此拦截通信的任何人只能看到随机字符串,而不是明文,比 http 协议的安全性更高,而 http 传输的数据读书未加密的的,也就是明文的。
  2. 证书:
    当 web 浏览器通过 https 链接到 web 服务器时,服务器会向浏览器发送数字证书(ca 证书,费用较高)。该证书包含特定与服务器的信息,包含服务器的公钥。浏览器随后使用此证书与服务器建立安全链接
  3. 端口号:
    一般而言,http 协议的端口为 80,https 的端口为 443。访问网址时,http 的 url 开头为 http://,https 的 url 开头为 https://
相关推荐
hugerat37 分钟前
在AI的帮助下,用C++构造微型http server
linux·c++·人工智能·http·嵌入式·嵌入式linux
三两肉41 分钟前
HTTPS ECDHE 握手全解析
网络协议·https·github·rsa·echde
txinyu的博客1 小时前
HTTP服务实现用户级窗口限流
开发语言·c++·分布式·网络协议·http
西京刀客2 小时前
golang路由与框架选型(对比原生net/http、httprouter、Gin)
http·golang·gin
掘根3 小时前
【仿Muduo库项目】HTTP模块1——Util子模块
网络·网络协议·http
嘿嘿3 小时前
charles iOS 配置证书,抓取https请求
http·测试
CCPC不拿奖不改名4 小时前
网络与API:从HTTP协议视角理解网络分层原理+面试习题
开发语言·网络·python·网络协议·学习·http·面试
liulilittle4 小时前
OPENPPP2 网络驱动模式
开发语言·网络·c++·网络协议·信息与通信·通信
tzy2335 小时前
分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应
前端·网络协议·http
小李独爱秋5 小时前
计算机网络经典问题透视:MD5报文是什么?有什么特点?
网络·网络协议·计算机网络·网络安全·信息与通信·信号处理