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

2021 年 10 月 26 日
 iqoo

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

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

github.com/EtherDream/http-server-online

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

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

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

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

https://v2ex.xtra.eu.org/t/810794

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

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

© 2021 V2EX