基本的Lua CGI

我需要一个非常轻巧的 Web 解决方案,可以在 Linux 设备上运行,用于处理 HTML 表单,因此打算使用 uwsgi 和 Lua。

在 CGI 脚本中,这篇文章 使用了以下代码:

print ("Content-type: Text/html\n")
print ("Hello, world!")

然而,下面的代码同样适用:

print("Status: 200 OK\r\n\r\nHello, world!\r\n")

我想知道 CGI 脚本真正需要返回给 Web 服务器的内容。

谢谢。

点赞
用户3066467
用户3066467

你根本不需要头文件,你真正需要的只是结尾的空行并开始主体:

print ("\nHello, World")

也可以正常工作。

然而,你至少应该包含 Content-type 包括字符集,因为浏览器 应该 默认为 ISO-8859-1,但用户可能会覆盖这个设置,而你 应该 使用 UTF-8 以避免显示受限制的字符。

print("Content-type: text/html; charset=utf-8")

此外,如果你正在编程一个设备,那么你可能希望避免缓存,因此我会多出一些

print("Cache-control: no-cache")
print("Pragma: no-cache")

此操作可以防止浏览器和代理缓存你的页面。

2014-02-26 14:43:23
用户2108644
用户2108644

然而,您需要处理 HTML 表单数据(例如 POST 数据)。您可以利用 Ajax Forms(JavaScript 库)的功能,将您的 POST 数据发送为 JSON,然后您可以使用 io:read('\ *')将其读回到 Lua 脚本中。

2014-07-28 02:46:07