V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
iqoo
V2EX  ›  分享创造

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

  •  
  •   iqoo · 2021-10-26 23:56:39 +08:00 · 3815 次点击
    这是一个创建于 884 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    github.com/EtherDream/http-server-online

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

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

    访问 https://http-server.etherdream.com/img1.png 的时候,被 Service Worker 拦截,然后分析路径,通过 File System Access API 去加载本地文件,返回给拦截的请求,是这样吗?
    iqoo
        14
    iqoo  
    OP
       2021-10-27 18:48:56 +08:00
    0Vincent0Zhang0
        15
    0Vincent0Zhang0  
       2021-10-27 22:10:26 +08:00
    这个“HTTP 服务”其实并没有开启,只是让浏览器访问本地文件而已😂
    chenyi
        16
    chenyi  
       2021-10-28 08:53:07 +08:00
    @0Vincent0Zhang0 chrome 不就支持这样吗
    iqoo
        17
    iqoo  
    OP
       2021-10-28 10:11:15 +08:00
    @0Vincent0Zhang0 但是有 HTTPS 协议的 URL 😂
    keventseng
        18
    keventseng  
       2021-10-28 14:52:05 +08:00
    chrome 有一款插件,好像就是这么个原理?
    yanzhiling2001
        19
    yanzhiling2001  
       2021-10-31 10:46:17 +08:00
    我没看懂,啥意思, 通过浏览器访问本地文件? 映射成 URL ? 有啥用
    iqoo
        20
    iqoo  
    OP
       2021-11-02 19:27:27 +08:00
    @yanzhiling2001 可以用来预览本地的静态网站
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1002 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:04 · PVG 04:04 · LAX 13:04 · JFK 16:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.