硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2017|回复: 0
收起左侧

[RL-TCPnet教程] 【RL-TCPnet网络教程】第45章 CGI脚本基础知识

[复制链接]

740

主题

1326

回帖

3546

积分

管理员

春暖花开

Rank: 9Rank: 9Rank: 9

积分
3546
QQ
发表于 2018-1-8 16:00:43 | 显示全部楼层 |阅读模式
第45章      CGI脚本基础知识

      本章节为大家讲解CGI(CommonGateway Interface,通用网关接口),这个也是搞网页设计的基础,所以对于初学者来说,是务必要掌握的。
      (本章的知识点主要整理自网络)
45.1 初学者重要提示
45.2 CGI基础知识参考资料
45.3 CGI基础知识点
45.4      总结



45.1  初学者重要提示
1、仅通过我们前面章节讲解的HTML,无法实现客户端和服务器的互动,通过CGI就可以做远程控制和数据传输了。
2、关于CGI的学习资料汇总以及快速上手的说明专门放在了此贴里面:http://bbs.armfly.com/read.php?tid=35651 。由于涉及到的资料不是我们原创,所以就不往教程中添加了,建议初学者必看!!!

45.2  CGI基础知识参考资料
      大家可以从以下地址获得CGI基础知识:
1、RFC3875地址(V1.1):https://tools.ietf.org/html/rfc3875
2、wiki百科中文版CGI:地址链接(这个是超链接)
3、wiki百科英文版CGI:地址链接(这个是超链接)
4、百度百科CGI:地址链接(这个是超链接)
      对这些基础知识有个了解后,直接看45.1小节中推荐的入门学习资料即可。

45.3  CGI基础知识点
      (这里的知识点整理自上面的参考资料地址)
      教程这里也对CGI的基础知识做个介绍,方便大家先有个大概的认识。

45.3.1 CGI简要说明
      CGI(Common Gateway Interface,通用网关接口)是一种重要的互联网技术,可以让一个客户端从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。
      CGI运行在服务器上,为客户端的HTML页面提供接口。为帮助大家更好的理解,这里举个例子,现在的网站上大部分都有一个留言本,留言本的工作是这样的:
1.     先由用户在客户端输入一些信息,如评论之类的东西。
2.     接着用户按一下“发布或提交”按钮,浏览器把这些信息传送到服务器的CGI目录下特定的CGI程序中,于是CGI程序在服务器上按照预定的方法进行处理。
3.     在本例中就是把用户提交的信息存入指定的文件中。然后CGI程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。
4.     整个过程结束。
     简单总结,就是如下这个过程:
1.     浏览器通过HTML表单或超链接请求指向一个CGI应用程序的URL。
2.     服务器收到请求。
3.     服务器执行指定CGI应用程序。
4.     CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容。
5.     CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
6.     网络服务器把结果返回到浏览器中。

45.3.2 CGI的作用
      CGI可以为我们提供许多HTML无法做到的功能。比如:顾客信息表格的提交和统计,搜索功能等。用HTML是没有办法记住客户任何信息的。要把客户端的信息记录在服务器的硬盘上,就要用到CGI。这是CGI最重要的作用,它补充了HTML的不足,不过,也仅仅是补充,不是替代。
      它是运行在Web服务器上的一个程序,并由来自于浏览者的输入触发。CGI是在HTTP服务器下运行外部程序的一个接口,它能让网络用户访问远程系统上的程序,就好像他们在实际使用那些远程计算机一样。
      CGI能够让浏览者与服务器进行交互,如果你曾经遇到过在网络上填表或者进行搜索,就很有可能是用的CGI。尽管CGI易于使用,但是当大批人同时使用一个CGI应用程序时,会反应较慢,网络服务器速度也会受到很大影响。
      CGI应用程序的优点是可以独立运行。

45.3.3 CGI编写语言
      CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如Perl(Practical Extraction and Report Language)、C\C++、Java 和VisualBasic等。另外,用Perl编写的CGI程序后缀为:.pl;Python编写的CGI程序后缀为:.py;而C编写的CGI程序后缀为:.cgi。我们教程中就是用C编写CGI程序。

45.3.4 CGI注意的问题
      CGI应用程序运行在浏览器可以请求的服务器系统上,执行时需要使用服务器CPU时间和内存。如果有成千上万的这种程序会同时运行,那会对服务器系统提出极高的要求。用户要慎重考虑这个问题,以防止服务器系统崩溃。
      不完善的CGI应用程序可能成为别人非法进入服务器系统的通道,有可能导致重要的资料被删除或外泄。CGI应用程序主要的用途有以下几种:
1、根据浏览者填写的HTML表单发送定制的答复。
2、创建可单击的图像缩略图。
3、创建一个浏览者可以搜索内容的数据库。
4、提供服务器与数据库的接口,并把结果转换成HTML文档。
5、制作动态HTML文挡。
      如果一个CGI脚本可以在每台计算机上做同样的事情,编写脚本就会变的很容易。不幸的是,CGI脚本依赖于服务器的操作系统,因此,对于非UNIX服务器来说,Perl(UNIX下编写脚本的一个常用工具)脚本毫无用处。所以,你必须定制安装你的CGI脚本
      大多数服务器都提供CGI-BIN目录,但是这还不够,因为你应该拥有自己的CGI-BIN。这样,你就能运行自己的脚本(而不是让自己的系统去适应已存在于系统上的脚本)。因此,你的提供商应安装CGI-BIN,且能够帮助你编写脚本。

45.4 总结
      关于本章节,我们这里讲解比较简单,建议初学者务必看45.1小节中推荐的入门学习资料。


努力打造安富莱高质量微信公众号:点击扫描图片关注
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 16:27 , Processed in 0.269526 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表