什么是通用网关接口:工作和应用程序
你想知道浏览器是如何如此快速和即时地为我们提供信息的吗?这篇文章解释了CGI的工作原理、优点和缺点。通用网关接口(CGI)是一套用于在web服务器上运行脚本和程序的标准。由于CGI是一个标准接口,的通信bob的是什么网站web服务器和客户端的web浏览器之间遵循特定的规则。换句话说,公共网关接口充当WWW服务器与外部数据库和信息源之间的中间件。CGI是由WWW联盟描述的,它也描述了程序与超文本传输协议(HTTP)服务器交互的方式。脚本是用PHP和ASP编写的,在页面加载和结果发送到客户端浏览器之前在web服务器上处理。
什么是公共网关接口?
通用网关接口(CGI)被描述为一组网络间交换信息的规则服务器还有一个自定义脚本。CGI是web服务器通过发送数据与用户交互的最常用方式之一。所使用的编程语言可以是C、c++、Java、Perl、Python或VB (Visual Basic)。
一些HTML页面由表单组成,这些表单使用CGI程序处理表单中可用的数据。脚本或程序被认为是提供反馈给web用户的另一种方法,而这些操作从用户的机器而不是web服务器,并利用Java脚本、Java applet或ActiveX控件等程序。这些不同的技术作为一个整体被称为客户端解决方案,CGI的使用被称为服务器端解决方案,因为处理来自web服务器。
公共网关接口是如何工作的
下面的通用网关图有助于理解当用户单击超链接来搜索和浏览任何网页时CGI是如何工作的。在客户端机器上运行的web浏览器使用超文本传输协议(HTTP)与web服务器交换信息。CGI程序驻留在web服务器所在的同一个系统上,它们从同一个系统运行。
基于从浏览器接收到的请求类型,web服务器尝试从其文档文件系统提供文档或运行一个CGI程序。以下是一系列使用CGI脚本创建HTML文档的事件:
- 用户向HTTP web服务器请求URL地址。用户还可以在浏览器的位置窗口中输入URL,该URL可以是一个超链接,也可以指定为HTML
- web服务器将分析URL并寻找文件名。否则,它激活URL中提到的网关程序,并通过URL向该程序发送参数
- 公共网关接口网关处理所需的信息,并向web服务器发送文件/HTML文本。另外,服务器附加MIME报头并将HTML文本发送给浏览器。
- 从web服务器获取结果后,web浏览器要么显示接收到的文档,要么显示一条错误消息。
CGI的特点 - 利用CGI创建简单的shell脚本和交互式应用程序
- 它们被一套规则定义得很好
- CGI是用简单的编程语言编写的,如Perl, C
- CGI是一种很容易与HTML结合的技术。
- CGI与现有的浏览器高度兼容。
优势
- 公共网关接口语言应符合规范,因此可以用任何编程语言编写。
- CGI使我们能够使用已经创建好的代码,用户可以避免再次编写自己的代码。
- 它简单且安全,因为应用程序在服务器上操作。
- 在CGI中执行高级函数要比在Java中容易得多。
- 它的反应很快。
缺点
- 公共网关接口占用大量的处理时间
- 当HTTP保持为无状态协议时,CGI会产生开销
- 它包含大量现有的代码库,主要用Perl编写
- 每次执行CGI脚本时,进程都会再次启动
- 服务器功能降低
通用网关接口的应用
CGI将Web从收集静态数据转换为一种新的交互结构,在这种结构中,用户可以与大量的问题进行交互,以运行应用程序。一些使用CGI设计的应用程序是:
形式
表单是CGI最重要的用户之一。表单允许用户共享信息,是HTML的一个子集。CGI程序通过处理和选择符合选择标准的适当表单,使这些表单对用户和提供者都具有很强的交互性。
网关
Web网关类似于程序或脚本。它用于访问客户端不能直接从数据库中读取的必要信息。CGI程序充当网关,使用适当的编程语言来读取信息、格式化并与客户端共享。
虚拟文件
虚拟文档创建是CGI中最重要的部分。而虚拟文档是根据用户的请求创建的,它可以从虚拟HTML,图像,纯文本,有时音频。
通用网关接口的工作应用
下面列出了一些令人印象深刻的CGI程序,它们描述了CGI的强大功能。
莱科斯环球网络搜索
这个服务器帮助用户浏览特定的文档。作为对用户请求的响应,Lycos返回符合用户Web搜索条件的超文本文档。链接是www.lycos.com。
彩色书
令人惊叹的应用程序设计的用户谁喜欢上色。链接是www.ravenna.com/coloring。
日语英语词典
它是一个虚拟的基于文档的应用程序。尖端的CGI程序向用户查询一个英语单词,然后返回一个具有适当图像的等效日语单词。
世界地图留言簿
它使用了一个基于表单的应用程序,允许用户留下所有人都能阅读的消息。
通用网关接口的安全注意事项
在用户浏览器上实现的CGI脚本可能包含错误。每一个错误都是潜在的安全问题。CGI脚本可能存在的安全问题有两种方式
- 有意或无意地泄露主机系统的信息有助于黑客轻松入侵
- 处理远程用户输入的CGI脚本很容易受到攻击,远程用户欺骗它们执行命令
常见问题
1).定义通用网关接口。
通用网关接口(CGI)被描述为一组在web服务器和自定义脚本之间交换信息的规则
列举一些CGI支持的编程语言
C、c++、Java、Perl、Python或VB (Visual Basic)
3)给出一个CGI的特性
它用于创建简单的shell脚本和交互式应用程序
4.给出CGI的优点和缺点
优势- - - - - -CGI允许使用已经创建的代码,用户可以避免再次编写自己的代码
缺点-降低服务器的功能,消耗大量的处理时间
5). CGI的形式是什么?
表单是HTML的一个子集,用于收集数据和交互通信bob的是什么网站
6).什么是CGI开销?
当HTTP成为无状态协议时,CGI会产生开销。这意味着在浏览器上的每一次“点击”都会初始化CGI进程。
7).为什么许多人用Perl来做CGI?
Perl是一个易于使用的工具。它具有强大的功能,可以从文本文件中提取信息,扫描任意文本文件,并根据该信息打印报告。
在本文中,我们解释了公共网关接口的定义。详细讨论了通用网关接口的工作原理、优缺点、用途、工作原理CGI的应用以及可能的安全威胁。