http和https的区别

HTTP 和 HTTPS 的区别主要体现在安全性、端口、数据传输方式等方面,下面是详细对比:

基本概念

协议 全称 简介
HTTP HyperText Transfer Protocol 超文本传输协议,明文传输,不安全。
HTTPS HyperText Transfer Protocol Secure 安全的 HTTP,使用 SSL/TLS 加密。

主要区别

项目 HTTP HTTPS
安全性 不加密,数据是明文传输,容易被窃取或篡改。 使用 SSL/TLS 加密,数据传输更安全。
端口号 默认端口 80 默认端口 443
传输协议 使用 TCP 使用 SSL/TLS + TCP
证书 不需要证书 需要 SSL证书(可由 CA 颁发)
URL格式 http:// 开头 https:// 开头
性能 更快一些(但差距很小) 加密过程略慢,但现代优化后基本无感知
SEO 友好 谷歌不推荐 谷歌等搜索引擎会优先 HTTPS 页面

举个例子说明

  • 如果你访问 http://example.com,任何人都可以在你和服务器之间看到你传输的内容(比如账号密码)。

  • 如果你访问 https://example.com,即使有人截取了你的数据,也因为是加密的,无法读取内容。

HTTPS工作流程简述

  1. 浏览器请求 HTTPS 页面;

  2. 服务器返回数字证书;

  3. 浏览器验证证书合法性(是否由可信机构签发、是否过期等);

  4. 双方协商加密方式;

  5. 建立安全连接(握手成功);

  6. 开始加密数据传输。

小贴士

  • 自己部署网站建议尽量使用 HTTPS,可以用 Let's Encrypt 免费获取证书。

  • 对前端来说,如果你使用的是 HTTPS,调用 HTTP 接口会被浏览器阻止(混合内容限制)。

相关推荐
LIN-JUN-WEI4 分钟前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
2501_9159214325 分钟前
苹果App上架流程:不用Mac也可以上架的方法
websocket·网络协议·tcp/ip·http·网络安全·https·udp
阿沁QWQ31 分钟前
UDP的socket编程
网络·网络协议·udp
望获linux39 分钟前
【Linux基础知识系列】第四十三篇 - 基础正则表达式与 grep/sed
linux·运维·服务器·开发语言·前端·操作系统·嵌入式软件
HXR_plume1 小时前
【计算机网络】王道考研笔记整理(1)计算机网络体系结构
网络·笔记·计算机网络
笑鸿的学习笔记1 小时前
qt-C++语法笔记之Stretch与Spacer的关系分析
c++·笔记·qt
留不住丨晚霞1 小时前
说说SpringBoot常用的注解?
java·开发语言
hardStudy_h2 小时前
C++——内联函数与Lambda表达式
开发语言·jvm·c++
艾莉丝努力练剑2 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
巴伦是只猫2 小时前
【机器学习笔记Ⅰ】3 代价函数
人工智能·笔记·机器学习