这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» DIY与开源设计» 开源硬件» SIN210学习笔记__CGI

共4条 1/1 1 跳转至

SIN210学习笔记__CGI

助工
2015-02-14 22:45:35 打赏

CGI(Common Gateway Interface)

WWW技术中最重要的技术之一,有着不可替代的重要地位。 CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。(以上内容摘自百度百科)

CGI简单的理解就是一个浏览器和服务器传递信息的一个接口规范。CGI并不是一种编程语言,而是一个规范标准。有人认为JavaScript功能强大到取代CGI,JavaScrpit和CGI是不同的,JavaScript是在客户端运行的脚本,而通过CGI,用户可以在服务器运行一些程序。

网络中会经常使用

标签来进行值的传递。


 


如上代码所示,method 有get 和 post 两种不同的方式。若不标注,get是缺省值。

GET

当数据被传送到服务器端后,数据被保存在服务器上 QUERY_STRING 的环境变量中。只要读取环境变量就可以了。不同的语言有不同的函数,如C中,可以用库函数getenv()读取()(stdlib.h)


POST

post method 不是通过QUERY_STRING变量传递的,而是通过stdin(标准输入)传递的。


更详细的可以参考下这个帖子LINUX CGI 编程


首先在开发板的web目录里新建一个cgi-bin的文件夹。

在Ubuntu上新建 demo_cgi.c 编辑如下:


#include  int main() { printf("Content-type:text/html\n\n"); printf("\nCGI DEMO
\n"); printf("\n
SINLINX SIN210 : WWW.SINLINX.COM
\n\n"); return 0; }



保存demo_cgi.c文件。

执行下面指令

# arm-linux-gcc -o demo_cgi.cgi demo_cgi.c

将生成的demo_cgi.cgi 文件复制到开发板的 /web/cgi-bin/ 文件夹中。

在开发板的 web/ 文件夹中新建一个 demo_cgi.html 代码如下:

   DEMO CGI 
 
HelloWii SIN210:www.sinlinx.com



在浏览器中输入 http://192.168.1.20/demo_cgi.html 即可出现如下界面(192.168.1.20 是笔者的开发板IP



点击上面的文字,即可执行cgi-bin中的程序,如下所示:




至此,可以通过浏览器执行服务器上的程序了。






最后非常感谢SINLINX公司提供的sin210开发板。








关键词: SIN210学习笔记 CGI

院士
2015-02-15 12:15:03 打赏
2楼
真棒! 先普及知识,然后再用实例解释

助工
2015-02-15 19:41:27 打赏
3楼
悄悄告诉你我是菜鸟,不要告诉别人

院士
2015-02-15 21:17:47 打赏
4楼
我说的是趋势,是坚持~~

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]