网页版 HTTP 服务器,无需工具即可开启本地 HTTP 服务

2021-10-26 23:56:39 +08:00
 iqoo

研究 File System Access API 时突发奇想写的一个小工具,结合 Service Worker API 可实现 HTTP 服务器。

打开网页选择一个文件夹,即可实现 HTTP 服务(当然只有本地可访问)。相当于把本地文件映射到虚拟 URL ,文件更新可实时生效。

github.com/EtherDream/http-server-online

支持远程也不难,通过 websocket 内网穿透即可实现,就是比较费流量。之后有空再加上。

3858 次点击
所在节点    分享创造
20 条回复
kkocdko
2021-10-27 00:15:24 +08:00
神奇!从没想过有这样的用法
binux
2021-10-27 08:14:15 +08:00
我以为这个 HTTP 服务器是那种在一个端口上可以被另一个客户端访问的那种。。
netnr
2021-10-27 08:22:51 +08:00
有一种 electron 的味道
zhw2590582
2021-10-27 09:47:26 +08:00
未曾设想道路
zoharSoul
2021-10-27 09:57:38 +08:00
这思路有意思
vazo
2021-10-27 10:03:05 +08:00
红豆泥
fxt0706
2021-10-27 10:21:20 +08:00
iqoo
2021-10-27 10:26:40 +08:00
@binux JS 没法监听端口,无解。只能通过外网转发实现。
cweijan
2021-10-27 11:41:52 +08:00
虽然没什么实际作用, 但是非常酷!
2i2Re2PLMaDnghL
2021-10-27 11:51:03 +08:00
结合一下 WASM+enscripten 是不是能以任意语言为后端语言?
iqoo
2021-10-27 12:30:40 +08:00
@2i2Re2PLMaDnghL 可以的,之前还考虑加上 php 功能。不过插件不好实现,比如 mysql 、curl 等,体积也比较大。
wensonsmith
2021-10-27 13:43:59 +08:00
Cool !
Robertwhite
2021-10-27 17:39:13 +08:00
这个原理是啥?

访问 https://http-server.etherdream.com/img1.png 的时候,被 Service Worker 拦截,然后分析路径,通过 File System Access API 去加载本地文件,返回给拦截的请求,是这样吗?
iqoo
2021-10-27 18:48:56 +08:00
0Vincent0Zhang0
2021-10-27 22:10:26 +08:00
这个“HTTP 服务”其实并没有开启,只是让浏览器访问本地文件而已😂
chenyi
2021-10-28 08:53:07 +08:00
@0Vincent0Zhang0 chrome 不就支持这样吗
iqoo
2021-10-28 10:11:15 +08:00
@0Vincent0Zhang0 但是有 HTTPS 协议的 URL 😂
keventseng
2021-10-28 14:52:05 +08:00
chrome 有一款插件,好像就是这么个原理?
yanzhiling2001
2021-10-31 10:46:17 +08:00
我没看懂,啥意思, 通过浏览器访问本地文件? 映射成 URL ? 有啥用
iqoo
2021-11-02 19:27:27 +08:00
@yanzhiling2001 可以用来预览本地的静态网站

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/810794

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX