免费发布信息
微信公众号

C++ Web 编程是什么?C++ Web 编程详解

   来源:黔优网责任编辑:优优  时间:2023-09-22 17:28:54 浏览量:90
导读:C++网络编程什么是 CGI?公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。Cgi多次讨论前缘由国家信息通报管理局维护发的,国家信息通报管理局定义见下文:公共网关接口(

C++ 网络编程

什么是 CGI?

  • 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。

  • Cgi多次讨论前缘由国家信息通报管理局维护发的,国家信息通报管理局定义见下文:

  • 公共网关接口(CGI),是一种用于外部网关程序与信息服务器(如 HTTP 服务器)对接的接口标准。

  • 目前的版本是 CGI/1.1,CGI/1.2 版本正在推进中。

网站的

为了更好地了解 CGI 的概念,让我们点击一个超链接,浏览一个特定的网页或 URL,看看会发生什么。

  • 您的浏览器联系上 HTTP Web 服务器,并请求 URL,即文件名。

  • Web 服务器将解析 URL,并查找文件名。如果找到请求的文件,Web 服务器会把文件发送回浏览器,否则发送一条错误消息,表明您请求了一个错误的文件。

  • Web 浏览器从 Web 服务器获取响应,并根据接收到的响应来显示文件或错误消息。

然而,以这种方式搭建起来的 HTTP 服务器,不管何时请求目录中的某个文件,HTTP 服务器发送回来的不是该文件,而是以程序形式执行,并把执行产生的输出发送回浏览器显示出来。

公共网关接口(CGI),是使得应用程序(称为 CGI 程序或 CGI 脚本)能够与 Web 服务器以及客户端进行交互的标准协议。这些 CGI 程序可以用 Python、PERL、Shell、C 或 C++ 等进行编写。

脑神经元图

下图演示了 CGI 的架构:

总投资基金

网生器物配置

在您进行 CGI 编程之前,请确保您的 Web 服务器支持 CGI,并已配置成可以处理 CGI 程序。所有由 HTTP 服务器执行的 CGI 程序,都必须在预配置的目录中。该目录称为 CGI 目录,按照惯例命名为 /var/www/cgi-bin。虽然 CGI 文件是 C++ 可执行文件,但是按照惯例它的扩展名是 .电脑辅助设备 。

默认情况下,Apache Web 服务器会配置在 /var/www/cgi-bin 中运行 CGI 程序。如果您想指定其他目录来运行 CGI 脚本,您可以在 httpd.conf 文件中修改以下部分:

目录"/VAR/www/CGI-BIN"&TL;
   无权限
   备选方案Execcgi
   订单许可,否认
   允许所有人</Directory>
 目录"/VAR/www/CGI-BIN"&TL;所有选项</Directory>

在这里,我们假设已经配置好 Web 服务器并能成功运行,你可以运行任意的 CGI 程序,比如 Perl 或 Shell 等。

第一个 CGI 程序

请看下面的 C++ 程序:

#包括<碘流;使用名称空间;
 INT主(){
    
   cout << "Content-type:text/html\r\n\r\n";    cout << "<html>\n";
   cout << "<head>\n";
   cout << "<title>Hello World - 第一个 CGI 程序</title>\n";
   cout << "</head>\n";
   cout << "<body>\n";
   cout << "<h2>Hello World! 这是我的第一个 CGI 程序</h2>\n";
   cout << "</body>\n";
   cout << "</html>\n";
   
   return 0;}

编译上面的代码,把可执行文件命名为 cplusplus.cgi,并把这个文件保存在 /var/www/cgi-bin 目录中。在运行 CGI 程序之前,请使用 115.中央银行 UNIX 命令来修改文件模式,确保文件可执行。访问可执行文件,您会看到下面的输出:

你好世界!你说什么?我说什么?

上面的 C++ 程序是一个简单的程序,把它的输出写在 STDOUT 文件上,即显示在屏幕上。在这里,值得注意一点,第一行输出 Content-type:text/html\r\n\r\n 。这一行发送回浏览器,并指定要显示在浏览器窗口上的内容类型。您必须理解 CGI 的基本概念,这样才能进一步使用 Python 编写更多复杂的 CGI 程序。C++ CGI 程序可以与任何其他外部的系统(如 RDBMS)进行交互。

网站信息

 Content-type:text/html\r\n\r\n 是 HTTP 头信息的组成部分,它被发送到浏览器,以便更好地理解页面内容。HTTP 头信息的形式如下:

HTTP 字段名称: 字段内容
 例如Content-type: text/html\r\n\r\n

还有一些其他的重要的 HTTP 头信息,这些在您的 CGI 编程中都会经常被用到。

头信息描述
内容类型:MIME 字符串,定义返回的文件格式。例如 Content-type:text/html。
终止日期:日期信息变成无效的日期。浏览器使用它来判断一个页面何时需要刷新。一个有效的日期字符串的格式应为 01 Jan 1998 12:00:00 GMT。
Location: URL这个 URL 是指应该返回的 URL,而不是请求的 URL。你可以使用它来重定向一个请求到任意的文件。
最后修改:日期资源的最后修改日期。
内容长度:n要返回的数据的长度,以字节为单位。浏览器使用这个值来表示一个文件的预计下载时间。
小蛋糕:细绳通过 弦 设置 cookie。

自变量

所有的 CGI 程序都可以访问下列的环境变量。这些变量在编写 CGI 程序时扮演了非常重要的角色。

变量名描述
内容_型内容的数据类型。当客户端向服务器发送附加内容时使用。例如,文件上传等功能。
内容长度查询的信息长度。只对 POST 请求可用。
Http_库基以键 & 值对的形式返回设置的 cookies。
使用剂用户代理请求标头字段,递交用户发起请求的有关信息,包含了浏览器的名称、版本和其他平台性的附加信息。
帕斯特_信息CGI 脚本的路径。
问答曲通过 GET 方法发送请求时的 URL 编码信息,包含 URL 中问号后面的参数。
转移到发出请求的远程主机的 IP 地址。这在日志记录和认证时是非常有用的。
搬运工发出请求的主机的完全限定名称。如果此信息不可用,则可以用 REMOTE_ADDR 来获取 IP 地址。
要求方法用于发出请求的方法。最常见的方法是 GET 和 POST。
脚本_文件名CGI 脚本的完整路径。
剧本名称CGI 脚本的名称。
服务名称服务器的主机名或 IP 地址。
服务器_软件服务器上运行的软件的名称和版本。
 
 
 
没用 0举报 收藏 0
免责声明:
黔优网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优网官方立场,请读者仅做参考。本文标题:C++ Web 编程是什么?C++ Web 编程详解,本文链接:https://www.qianu.com/news/251577.html,欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法信息,请您立即点此【投诉举报】并提供有效线索,也可以通过邮件(邮箱号:kefu@qianu.com)联系我们及时修正或删除。
 
 

 

 
推荐图文
推荐商业资讯