服务器嵌入式Linux系统CGI程序设计的技术

cgi格式  时间:2021-03-15  阅读:()

嵌入式Linux系统C GI程序设计的技术目录

2. 1 uclinux下

(1)编译boa到内核

(3)编译烧写内核

2. 2具有mmu平台的l inux下b0a的实现与配置

3. 1工作原理

(1)www和c g i的工作原理

(2)ur l编码

3. 2 cgi外部扩展程序编制

正文

随着互联网应用的普及越来越多的化产品需要接入互联网通过web页面进行远程访问。嵌入式web系统提供了一种经济、实用的互联网嵌入式接入方案。这里结合一种嵌入式web server boa来介绍嵌入式linux系统下的cgi程序设计技术。

2 web server boa的实现与配置

2. 1 uclinux下主要有三个web server:httpd、 thttpd和boa。httpd是最简单的一个web server它的功能最弱不支持认证不支持cgi。 thttpd和boa都支持认证、 cgi等功能都比较全。 boa是一个单任务的小型http服务器源代码开放、性能优秀特别适合应用在嵌入式系统中。 目前的uclinux的代码中已经包含boa的源代码。在uclinux下实现boa只需要对boa做一些配置和修改。 以下是配置的过程。

(1)编译boa到内核

首先需要把boa编译到内核 即执行make menuconfig在应用程序选单中network application项下面选择boa。该操作需要重新编译内核。

()编制配置文件f

在linux操作系统下应用程序的配置都是以配置文件的形式提供的一般都是放在目标板/etc/目录下或者/etc/co目录下。但的配置文件一般都旋转在目标板/home/httpd/目录下。

例如一个典型的文件格式如下:servername samsung-armdocumentroot/home/httpdscriptalias/cgi-bihome/httpd/cgi-biscriptalias/index.html/home/httpd/index.html

它指定了html页面必须放到/home/httpd目录下 cgi外部扩展程序必须放到/home/httpd/cgi-bin目录下。

(3)编译烧写内核

重新编译内核后通过烧写工具烧写内核就可以在pc上通过ie浏览器访问开发板上的web server。例如输入开发板的ip即可访问到自己做的网页index.html了。并且通过编写cgi外部扩展程序可以实现动态web技术下面将详细介绍。

2.2具有mmu平台的l inux下b 0a的实现与配置

对于有mmu(内存管理单元)的平台如armlinux和ppclinux可以到网上一个主流版本的boa发行包。因为是运行在目标系统所以要用交叉编译工具编译 即需要修改boarc/makef ile里面的编译器。例如:cc=/linuxppc/cdk/bipowerpc-l inux-gcc

cpp=/linuxppc/cdk/bipowerpc-linux-g++

然后直接在boarc 目录下执行make 即可生成boa可执行文件;将其编译入内核并烧写到存储设备就可以实现访问boa服务器。

3 cgi程序设计技术cgi (common gateway interface)是外部应用扩展应用程序与www服务器交互的一个标准接口。按照cgi标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据从而完成客户端与服务器的交互操作。而cgi规范就定义了web服务器如何向扩展应用程序发送消息在收到扩展应用程序的后又如何进行处理等内容。通过cgi可以提供许多静态的html网页无法实现的功能 比如搜索引擎、基于web的数据库访问等等。

3. 1工作原理

(1)www和cgi的工作原理http协议是www的基础它基于客户/服务器模型一个服务器可以为分布在网络中处的客户提供服务;它是建立在tcp/ip协议之上的“无连接”协议每次连接只处理一个请求。在服务器上运行产着一个守护进程对端口进行监听等待来自客户的请求。当一个请求到来时将创建一个子进程为用户的连接服务。根据请求的不同服务器返回html文件或者通过cgi调用外部应用程序返回处理结果。服务器通过cgi与外部程序和脚本之间进行交互根据客户端在进行请

求时所采取的方法服务器会收集客户所提供的信息并将该部分信息发送给指定的cgi扩展程序。 cgi扩展程序进行信息处理并将结果返回服务器然后服务器对进行分析并将结果发送回客户端。

外部cgi程序与www服务器进行通信、传递有关参数和处理结果是通过环境变量、命令行参数和标准输入来进行的。服务器提供了客户端(浏览器)与cgi扩展程序之间的信息交换的通道。 cgi的标准输入是服务器的标准输出而cgi的标准输出是服务器的标准输入。客户的请求通过服务器的标准输出传送给cgi的标准输入 cgi对进行处理后将结果发送到它的标准输入然后由服务器将处理结果发送给客户端。

(2)url编码

客户端浏览器向服务器发送数据采用编码的形式进行。该编码就是crl编码。编码的主要工作是表单域的名字和值的转义具体的做法为:每一对域和值里的空格都会被替换为一个加号(+)字符不是字母或数字的字符将被替换为它们的十六进制数字形式格式为%hh。 hh是该字符的ascii十六进制值。

标签将被替换为“%0d%0a”

信息是按它们在表单里出现的顺序排列的。数据域的名字和数据域的值通过等号(=)字符连在一起。各对名/值再通过“&”字符连接在一起。经过这些编码处理之后表单信号就整个成为一个连续的字符流里面包含着将被送往服务器的全部。

因为表单输入都是经过编码后传递给脚本程序的所以cgi扩展程序在使用这些参数之前必须对它们进行解码。

3.2 cgi外部扩展程序编制

服务器程序可以通过三种途径接收:环境变量、命令行和标准输入。具体使用哪一种方法要由标签的method属性来决定。

在“method=get”时 向cgi程序传递表单编码信息的正常做法是通过命令来进行的。大多数表单编码信息都是通过query_string的环境变量来传递的。如果“method=post” 表单信息将通过标准输入来读取。还有一种不使用表单就可以向cgi传送信息的方法那就是把信息直接追回在url地址后面和url之间用问号(?)来分隔。

CloudCone($82/月)15-100M不限流量,洛杉矶CN2 GIA线路服务器

之前分享过很多次CloudCone的信息,主要是VPS主机,其实商家也提供独立服务器租用,同样在洛杉矶MC机房,分为两种线路:普通优化线路及CN2 GIA,今天来分享下商家的CN2 GIA线路独立服务器产品,提供15-100Mbps带宽,不限制流量,可购买额外的DDoS高防IP,最低每月82美元起,支持使用PayPal或者支付宝等付款方式。下面分享几款洛杉矶CN2 GIA线路独立服务器配置信息。配...

ZJI:520元/月香港服务器-2*E5-2630L/32GB/480G SSD/30M带宽/2IP

ZJI发布了一款7月份特别促销独立服务器:香港邦联四型,提供65折优惠码,限量30台(每用户限购1台),优惠后每月520元起。ZJI是原来Wordpress圈知名主机商家:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务。下面列出这款服务器的配置信息。香港邦联四型CPU:2*E5-2...

HostKvm - 夏季云服务器七折优惠 香港和韩国机房月付5.95美元起

HostKvm,我们很多人都算是比较熟悉的国人服务商,旗下也有多个品牌,差异化多占位策略营销的,商家是一个创建于2013年的品牌,有提供中国香港、美国、日本、新加坡区域虚拟化服务器业务,所有业务均对中国大陆地区线路优化,已经如果做海外线路的话,竞争力不够。今天有看到HostKvm夏季优惠发布,主要针对香港国际和韩国VPS提供7折优惠,折后最低月付5.95美元,其他机房VPS依然是全场8折。第一、夏...

cgi格式为你推荐
网络访问域名访问提示是什么意思嘀动网在炫动网买鞋怎么样,是真的吗罗伦佐娜手上鸡皮肤怎么办,维洛娜毛周角化修复液www.haole012.com阜阳有什么好的正规的招聘网站?www.kaspersky.com.cn现在网上又有病毒了?www.45gtv.com登录农行网银首页www.abchina.com,baqizi.cc曹操跟甄洛是什么关系sodu.tw台湾人看小说的网站是机器蜘蛛尼尔机械纪元机械蜘蛛怎么过 机械蜘蛛打法攻略解析www.dm8.cc有谁知道海贼王最新漫画网址是多少??
广东服务器租用 国外vps主机 ddos fdcservers linkcloud 香港机房托管 老左博客 服务器cpu性能排行 国内php空间 panel1 e蜗牛 qingyun 阿里云浏览器 七夕促销 cxz 游戏服务器出租 贵阳电信测速 云服务是什么意思 好看的空间 万网服务器 更多