---
type: concept
title: Web Serial API
created: 2026-06-19
updated: 2026-06-19
tags: [web-api, browser, serial, hardware, w3c, wicg]
---

## 定义
**Web Serial API** 是 W3C/WICG 提出的浏览器 API，允许 Web 页面通过 JavaScript 直接与串口设备（如 USB-UART 桥、Arduino、ESP32 开发板）通信。无需安装本地驱动或客户端软件。

## 核心要点

### 浏览器支持
- ✅ **Chrome / Chromium 内核**（已验证）
- ✅ **Microsoft Edge**（已验证，Chromium 内核）
- ✅ **IE 浏览器**（已验证，Trident 内核）
- ⚠️ Firefox / Safari 支持有限

### 安全模型
- **必须用户授权**：每次连接设备都需用户在浏览器弹出层中明确选择 COM 端口并确认
- **必须 HTTPS / localhost**：出于安全考虑，Serial API 仅在安全上下文下可用

### 典型使用场景
- 浏览器烧录 MCU 固件（ESP-Launchpad）
- 串口调试（Web 串口监视器）
- 物联网设备配置
- Arduino Web 编辑器
- 串口打印机 / POS 设备

### 与 WebUSB 的区别
- **Web Serial**：针对串口通信协议（UART），更通用
- **WebUSB**：直接访问 USB 设备，需驱动匹配，更底层

## 不同来源的说法
| 来源 | 观点 |
|------|------|
| [[wiki/library/Flash工具Web端烧录固件（无IDF开发环境）.md\|Flash 烧录教程]] | ESP-Launchpad 基于 Web Serial，主流浏览器均支持 |

## 相关实体
- [[wiki/entities/esp-launchpad|ESP-Launchpad]]
- [[wiki/entities/espressif|Espressif 乐鑫]]

## 参考来源
- [[wiki/library/Flash工具Web端烧录固件（无IDF开发环境）.md|Flash 烧录教程]]
- MDN: https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API
