直接双击打开index.html不算发布,因file://协议无服务器参与,导致网络请求、cookie、service worker等功能受限且无https;真正发布需部署到支持http/https的web服务器。
为什么直接双击打开 index.html 不算“发布”
本地双击运行只是浏览器用 file:// 协议加载文件,没有服务器参与,所有涉及网络请求(如 fetch、XMLHttpRequest)、Cookie、Service Worker、甚至部分 localStorage 权限都会受限或失效。更重要的是,file:// 下根本不存在 HTTPS——它连 HTTP 都不是。
真正发布,意味着你得把 HTML 文件放到一个能响应 http:// 或 https:// 请求的 Web 服务器上。
免费又支持 HTTPS 的发布方式有哪些
对个人项目或静态 HTML5 页面,推荐以下三种实操路径,全部自带 HTTPS 且无需配置证书:
-
Vercel:上传整个文件夹(含
index.html),执行vercel命令或拖拽部署,自动分配https://xxx.vercel.app地址 -
Netlify:拖拽文件夹或关联 GitHub 仓库,部署后获得
https://xxx.netlify.app;支持自定义域名 + 自动续签证书 -
GitHub Pages:推送到
gh-pages分支或docs/目录,启用后地址为https://username.github.io/repo-name(注意:仅支持https,不支持自定义根域名的强制 HTTP 重定向)
它们共同点是:静态托管、CDN 加速、HTTPS 默认开启、无需运维。别自己搭 Nginx 再折腾 Let’s Encrypt——小项目没必要。
立即学习“前端免费学习笔记(深入)”;
本地开发时如何模拟 HTTPS 环境
某些 HTML5 特性(比如 navigator.geolocation、MediaDevices.getUserMedia)在非 HTTPS 下会被现代浏览器禁用,即使你用 localhost 也不行——除非你用 https://localhost 或满足安全上下文条件。