Perl 教程 之 Perl CGI编程 1

简介: CGI(Common Gateway Interface)是服务器与客户端交互的接口,允许执行如Perl的脚本处理用户请求。当浏览器访问URL,服务器解析请求,查找文件,若存在则返回内容。CGI程序可采用多种语言编写。Apache服务器中,CGI脚本通常存放在`/var/www/cgi-bin`,扩展名`.cgi`或`.pl`。要启用CGI,需配置Apache的httpd.conf

Perl 教程 之 Perl CGI编程 1

Perl CGI编程

什么是CGI

CGI 目前由NCSA维护,NCSA定义CGI如下:

CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。

网页浏览

为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程:

1、使用你的浏览器访问URL并连接到HTTP web 服务器。
2、Web服务器接收到请求信息后会解析URL,并查找访问的文件在服务器上是否存在,如果存在返回文件的内容,否则返回错误信息。
3、浏览器从服务器上接收信息,并显示接收的文件或者错误信息。
CGI程序可以是Python脚本,PERL脚本,SHELL脚本,C或者C++程序等。

cgiarch

Web服务器支持及配置

在进行CGI编程前,确保Web服务器支持CGI及已经配置了CGI的处理程序。

Apache 支持CGI 配置:

设置好CGI目录:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。

CGI文件的扩展名为.cgi,Perl 也可以使用.pl扩展名。

默认情况下,Linux服务器配置运行的cgi-bin目录中为/var/www。

如果你想指定其他运行CGI脚本的目录,可以修改httpd.conf配置文件,如下所示:


AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from all

在 AddHandler 中添加 .pl 后缀,这样我们就可以访问 .pl 结尾的 Perl 脚本文件:

AddHandler cgi-script .cgi .pl .py

目录
相关文章
|
JavaScript 前端开发 Python
CGI编程完全手册
一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。
3422 0
|
开发框架 应用服务中间件 Apache
探索研究Perl CGI编程
【9月更文挑战第19天】
151 8
|
存储 数据安全/隐私保护 Perl
Perl 教程 之 Perl CGI编程 14
Perl CGI教程介绍了CGI(Common Gateway Interface)的概念,它是一种让服务器与客户端HTML交互的程序接口。CGI弥补了HTTP协议不识别用户身份的缺陷。Cookie用于身份验证,当用户访问脚本时,信息存储在环境变量HTTP_COOKIE中。示例代码展示了如何从HTTP_COOKIE检索Cookie信息,包括UserID和Password,输出用户ID和密码。
135 2
|
8月前
|
弹性计算 网络协议 应用服务中间件
|
Perl
perl之print,printf,sprintf使用案例详解
perl之print,printf,sprintf使用案例详解
305 21
|
移动开发 Perl
Perl 教程 之 Perl CGI编程 2
Perl CGI教程介绍CGI,一个由NCSA维护的接口,用于连接HTTP服务器和客户端HTML。示例展示如何创建首个CGI程序`test.cgi`,包含打印"Content-type:text/html\r\n\r\n"以指示浏览器显示HTML内容,以及"Hello World!"消息。访问`http://localhost/cgi-bin/test.cgi`可查看结果。
97 1
|
SQL 关系型数据库 MySQL
MySQL数据库常见报错案例与错误代码说明
MySQL数据库常见报错案例与错误代码说明
1123 0
|
存储 边缘计算 安全
阿里云全球基础设施展示,公共云地域、边缘节点、超级数据中心分布图
本文为大家介绍了阿里云在2024年的全球基础设施布局,包括公共云地域、边缘节点、超级数据中心等各个阶段和方面。阿里云基础设施已覆盖全球四大洲,拥有30个公共云地域和89个可用区,以及超过3200个边缘节点,为其用户提供了广泛且深入的服务覆盖。
阿里云全球基础设施展示,公共云地域、边缘节点、超级数据中心分布图
|
数据采集 机器学习/深度学习 人工智能
达摩院开源多语言大模型PolyLM, 覆盖集团核心小语种,效果超LLAMA、BLOOM
本文作者:宝嵩,鹏程,呋喃主要贡献者:鹏程,呋喃,莉莱,重笙,筱苡,星峰,红罗,祝鸿,洛新,宝嵩,轻径,黄非摘要:大型语言模型 (LLM) 展示了出色的遵从自然语言指令理解、推理和生成的能力。然而,开发LLMs主要集中在高资源语言,例如英语,从而限制了它们在其他语言中的应用和研究。因此,我们开发了PolyLM,一个在6400亿个词的数据上从头训练的多语言语言模型,包括两种模型大小(1.7B和13B
5700 0
达摩院开源多语言大模型PolyLM, 覆盖集团核心小语种,效果超LLAMA、BLOOM
|
Apache Windows
小白下载和安装Apache的教程(保姆级)
小白下载和安装Apache的教程(保姆级)
1502 0