用C++编写我的第一个CGI程序

本文介绍了使用C++编写CGI程序并结合Apache服务器进行部署的步骤。从安装Apache开始,逐步讲解如何编写并运行第一个CGI程序,展示HTTP请求与CGI接口的工作原理。同时,解释了URL的组成部分以及CGI程序中Content-type的重要性。通过这个过程,读者可以了解CGI后端开发的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

本文记录了我学习用C++编写CGI后端程序的历程。


一、CGI

CGI(Common Gateway Interface),直译为“通用网关接口”,是一个接口协议( 协议就是大家公认的一套标准)规定了web服务器如何与CGI应用程序通信。体系结构如图:

在这里插入图片描述

进行CGI后端开发,就是编写一个CGI程序,并将CGI程序放置在服务器cgi-bin目录上。

二、使用步骤

1.安装Apache

本次使用Apache服务器。安装Apache的目的是在本机上安装一个web服务器,通过浏览器访问本机服务器(localhost, 指你所在的计算机本身,在 windows 系统它成了 127.0.0.1 的别名 )进而访问服务器上的CGI程序
Apache安装指导


2.编写我的第一个CGI程序

打开vs2019,创建一个空项目,编写一个.cpp程序如下

#include<iostream>
using namespace std;

int main()
{
	cout << "Content-Type:text/html\n\n" << endl;
	cout << "<h2>Hello World ! This is my first CGI program </h2>\n";


}

把该程序编译后生成的exe文件放到目录为C:\Users\WCJJ\Desktop\Apache24\cgi-bin\test中,并把文件扩展名该为.cgi 。这样我们就得到了一个cgi程序。


3.访问我的第一个CGI程序

用浏览器(客户端)通过 本机上的apache服务器(web服务器) 访问 我的CGI后端程序:打开浏览器,输入http://localhost:8088/cgi-bin/test/helloworld.cgi
就可以运行这个CGI程序并在浏览器上看见其返回的html文件的渲染效果。在这里插入图片描述


4.补充

4.1 URL的含义

以下是摘自<<数据库系统概念第6版>>对URL的解释在这里插入图片描述 我们刚刚输入的http://localhost:8088/cgi-bin/test/helloworld.cgi,其中第一部分是http,表明超文本传输协议;第二部分是localhost:8088,给出了我这台装有Apache服务器(web服务器)的笔记本电脑(机器);第三部分cgi-bin/test/helloworld.cgi描述了我的第一个CGI程序在该笔记本上的路径名(位置)


4.2 我的第一个CGI程序为什么这么写

4.2.1 首行的Content-type

第一个cout输出的"Content-type:text/html\n\n"是一个文件的标志,告诉浏览器以html的语法来解析此文件,而不是去下载它(注意末尾需要两个换行,即一个空行,这是标准)。只要我们需要输出内容到浏览器,都得加这一句话在最前面,记住就好。

4.2.2 其余的部分

后面的cout语句就是输出到浏览器上的信息,注意需要用html的语法才能正常显示在浏览器上。只要通过printf,就可以将任何html代码输出在浏览器里。而且,因为是用C/C++写的程序,所以C/C++下的一切函数,都可以用在CGI程序里,当然也包括在通过ODBC的API集对数据库进行数据交换。


参考

WEB之CGI----CGI详解(原理,配置及访问)
CGI入门一:使用C++实现CGI程序
C++后台实践:古老的CGI与Web开发
Web Programming in C++

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值