在本地主机上托管网络服务器的快速方法

在本地主机上托管网络服务器的快速方法

我想http://localhost:PORT/暂时提供 文件夹的内容。一个非常基本的 http 服务器。

我已经知道了,

 $ python -m SimpleHttpServer 

或者(这似乎是新方法)

 $ python -m http.server 

但我正在寻找替代的命令行方法。

答案1

UNIX 中不存在“系统”网络服务器和不同的“方法”之类的东西。

您可以在包含简单网络服务器的系统上安装软件并使用或不使用它。

python -m SimpleHttpServer只需加载 SimpleHttpServer 模块,其中包含一个基本的 Web 服务器。

Perl 也有类似的东西,看看 CPAN:http://search.cpan.org/dist/HTTP-Server-Simple/

“简单”是Java的解决方案:http://www.simpleframework.org/

使用 JavaScript 和 Nodejs 可以很容易地实现同样的效果:http://nodejs.org/api.html,请参阅有关 HTTP 的部分。

另一个解决方案是自己做:HTTP 是一个非常简单的协议,当它只提供一些静态文件时。要获取 /foo/bar ,您的浏览器将通过以下方式请求它:

GET /foo/bar HTTP/1.1

回复应采用以下形式:

HTTP/1.0 200 OK
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8

YOUR CONTENT

或者

HTTP/1.1 404 Not Found
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8

YOUR 404 ERROR PAGE

包含 Last-Modified 标头以启用资源缓存。应该可以用几行代码编写一个最小的实现。将其连接到端口,您的网络服务器就会启动并运行。使用inetd或netcat将其绑定到您的IP。

编辑:这是一个简单的 shell 脚本,它正是完成这项工作。它还支持为文件夹生成索引和 404 错误处理:

相关内容