研究 File System Access API 时突发奇想写的一个小工具,结合 Service Worker API 可实现 HTTP 服务器。
打开网页选择一个文件夹,即可实现 HTTP 服务(当然只有本地可访问)。相当于把本地文件映射到虚拟 URL ,文件更新可实时生效。
github.com/EtherDream/http-server-online
支持远程也不难,通过 websocket 内网穿透即可实现,就是比较费流量。之后有空再加上。
![]() | 1 kkocdko 2021-10-27 00:15:24 +08:00 via Android 神奇!从没想过有这样的用法 |
![]() | 2 binux 2021-10-27 08:14:15 +08:00 via Android 我以为这个 HTTP 服务器是那种在一个端口上可以被另一个客户端访问的那种。。 |
![]() | 3 netnr 2021-10-27 08:22:51 +08:00 via Android 有一种 electron 的味道 |
![]() | 4 zhw2590582 2021-10-27 09:47:26 +08:00 未曾设想道路 |
![]() | 5 zoharSoul 2021-10-27 09:57:38 +08:00 这思路有意思 |
![]() | 6 vazo 2021-10-27 10:03:05 +08:00 红豆泥 |
![]() | 7 fxt0706 2021-10-27 10:21:20 +08:00 [Web Server for Chrome]( https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb) |
![]() | 9 cweijan 2021-10-27 11:41:52 +08:00 虽然没什么实际作用, 但是非常酷! |
10 2i2Re2PLMaDnghL 2021-10-27 11:51:03 +08:00 结合一下 WASM+enscripten 是不是能以任意语言为后端语言? |
![]() | 11 iqoo OP @2i2Re2PLMaDnghL 可以的,之前还考虑加上 php 功能。不过插件不好实现,比如 mysql 、curl 等,体积也比较大。 |
![]() | 12 wensonsmith 2021-10-27 13:43:59 +08:00 Cool ! |
13 Robertwhite 2021-10-27 17:39:13 +08:00 这个原理是啥? 访问 https://http-server.etherdream.com/img1.png 的时候,被 Service Worker 拦截,然后分析路径,通过 File System Access API 去加载本地文件,返回给拦截的请求,是这样吗? |
![]() | 14 iqoo OP @Robertwhite 是 |
15 0Vincent0Zhang0 2021-10-27 22:10:26 +08:00 这个“HTTP 服务”其实并没有开启,只是让浏览器访问本地文件而已 |
16 chenyi 2021-10-28 08:53:07 +08:00 @0Vincent0Zhang0 chrome 不就支持这样吗 |
![]() | 17 iqoo OP @0Vincent0Zhang0 但是有 HTTPS 协议的 URL |
![]() | 18 keventseng 2021-10-28 14:52:05 +08:00 chrome 有一款插件,好像就是这么个原理? |
19 40EaE5uJO3Xt1VVa 2021-10-31 10:46:17 +08:00 我没看懂,啥意思, 通过浏览器访问本地文件? 映射成 URL ? 有啥用 |
![]() | 20 iqoo OP @yanzhiling2001 可以用来预览本地的静态网站 |