(二十) 因特网程序:CGI
来源:互联网 发布:淘宝股票行情 编辑:程序博客网 时间:2024/05/18 03:00
- 通用网关接口
Common Gateway Interface
- FORM表单
每个标签都有name属性,这个属性是为服务器准备的
action属性:对表单进行处理需要有一个程序,这个属性就是URL地址
method属性:或者是get,或者是post
enctype属性:如果不想在发送这个表单时包括上一个文件,就可以省略这个属性
- INPUT标签
定义了客户输入的类型,输入数据的格式和行为由type属性控制,type属性包括8种:
text 浏览器将显示一个单行的输入框,name属性给这个输入框起个名字,当这个表单在服务器上被处理的时候就会用到这个名字
size属性给出这个输入框显示的宽度,maxlength设定了这个输入框最大的输入长度,如果这个值大于size,输入框会随用户的输入而卷动
value属性给出了这个输入框中省略的字符串
<input type=text name=fuck size=15 maxlength=10 value=furong>password 与text用法一样hidden 输入框不会出现在浏览器,这类输入框供服务器使用
<input type=hidden name=fuck value=furong>checkbox 允许用户从一组选项里选择几项.几个name属性相同的选择框将被划分为一组,而浏览器将允许用户从一组同名的选择框里进行选择checkbox比其他输入框多一个checked属性,作用是提供缺省的选择,缺省选择可以用多个,value属性用来把信息返回服务器
<input type=checkbox name=fuck value=1><input type=checkbox name=fuck value=2><input type=checkbox name=fuck value=3>radio 与checkbox很相似,但每次只允许选择一项
image 允许用户从一副图选择一个(x, y)坐标,返回给服务器的输入数据域映射图的形式差不多,已经很少有人用了
因为映射图办法的效果更好
submit 显示一个按钮.当这个按钮被选中的时候,表单的内容将被传递到服务器去进行处理
reset 使浏览器窗口里显示一个按钮.当这个按钮被选中的时候,表单元素会被重新置为表单第一次被加载的初始值
不会引起与服务器的互动
- select标签
允许用户从一系列值里进行选择,它的属性包括name,multiple和size
name 属性和往常一样用来给将返回到服务器的信息起名字
multiple 属性允许一个以上的选项被选中,但用户每次见到只有一个.少用
size 属性定义了能够被选取的项目个数,缺省值是1
- textarea标签
允许用户输入并向服务器返回多行文字.附加属性rows(行)和cols(列)属性
浏览器会根据rows和cols的值来显示一个文本区,超出这个区域加上一个卷动条
- 编写CGI程序
基本上用c语言.但用shell/Tcl或者最时髦的perl都没问题
- method属性
get方法主要用来处理那些"没有副作用"的表单,即那些服务器提出一个简单查询的表单
post方法则用来处理那些可能会在服务器上引起某些变化的复杂表单
- 环境变量
不管你用哪种方法来传递表单信息,有几个重要信息都是以环境变量的形式传递给CGI程序
变量名 说明 SERVER_SOFTWARE与接收请求并调用程序的那个服务器软件有关的资料SERVER_NAME服务器的主机名或IP地址GATEWAY_INTERFACE服务器上实现的CGI标准的版本号SERVER_PROTOCOL接收来自客户的请求时使用的协议的版本号SERVER_PORT接收到请求的端口号,一般为80REQUEST_HETHOD提出请求的方法,即get或postPATH_INFO关于cgi程序路径的附加信息PATH_TRANSLATEDcgi程序的物理路径SCRIPT_NAME正在执行的脚本程序的名字REMOTE_HOST提出这一请求的计算机主机名字REMOTE_ADDR提出这一请求计算机主机的IP地址AUTH_TYPE如果服务器支持用户验证身份,就要用到这两个变量HEMOTE_USER REMOTE_IDENT远程用户的用户名.很少用CONTENT_TYPE正被传输的信息的内容类型CONTENT_LENGTH传给程序的数据的字节数.当以post方式读取输入的时候,最好利用这个变量来识别结束字符流的null字符或文件尾标志当method=get时,不允许设置CONTENT_TYPE和CONTENT_LENGTH变量
- 第一个cgi程序
写下"Content-type:text/plain",加上一个空行
#!/bin/shecho Content-type:text/plainechoecho SERVER_SOFTWARE=$SERVER_SOFTWAREecho SERVER_NAME=$SERVER_NAMEecho GATEWAY_INTERFACE=$GATEWAY_INTERFACEecho SERVER_PROTOCOL=$SERVER_PROTOCOLecho SERVER_PORT=$SERVER_PORTecho REQUEST_HETHOD=$REQUEST_HETHOD
- (二十) 因特网程序:CGI
- 用Delphi编写CGI程序(二)
- cgi程序
- 程序人生(二十)
- 因特网
- 十一周阅读程序(二)
- 十四周任务-阅读程序二
- 了解CGI(二)
- Cgi 程序如何分页
- 调试CGI程序...
- perl的cgi程序
- CGI程序工作原理
- 第一个CGI程序
- cgi测试程序
- CGI程序学习
- 如何编写CGI程序
- cgic 写CGI程序
- 怎么样调用cgi程序
- Speech Synthesis原码
- 特征选择算法之开方检验
- Android改变选中字体颜色
- Locally linear embedding (LLE)局部线性嵌入(降维)
- 项目四 个人所得税计算器 switch语句
- (二十) 因特网程序:CGI
- 用bis和bic实现位级操作
- 51nod-1158 . 全是1的最大子矩阵 &&CODEVS-2491 玉蟾宫(枚举+单调栈 or dp)
- 监控线程的 Mach 异常
- C#-窗体透明度,通过TrackBar设置窗体透明度动态效果---ShinePans
- 字符串匹配算法
- Seinfeld(杭电3351)
- window+r下拉框选项修改.reg
- 黑马程序员_JAVA基本数据类型包装类