服务器位置
服务器位置
服务器位置
服务器位置
服务器位置
服务器位置
服务器位置
服务器位置
服务器位置
Perl是一种解释性语言,代表实用提取和报告语言(用于实用数据提取和报告的语言)。
例如,使用Perl,您可以创建一个脚本来打开一个或多个文件,处理信息并写入结果。
Perl是用于通过通用网关接口(CGI)与Web服务器进行通信的出色工具。
Perl命令可以轻松地从HTML表单或其他来源获取数据并对其进行处理。
Perl 托管
Perl是另一种编程语言,不仅在过去非常流行,而且今天仍然被Web开发人员使用。该语言的名称代表-“一种用于数据提取和报告的实用语言”。 Perl为开发简洁高效的应用程序,系统程序提供了充足的机会。
为Perl提供托管不需要任何特殊功能。启用Perl的托管有两种方式-CGI或mod_perl。该语言的特点是速度和可靠性。 Perl发行版适用于所有平台。如果我们认为它朝着一个有希望的方向发展,那么所有希望都与该语言第六版的发布有关。同样,前景是使用现代Perl框架,例如Catalyst。
CPAN模块库是此编程语言的功能,它对所有托管用户都是通用的。它包含大量的文档和软件。 Perl托管的质量和性能取决于此内容。
Perl是一种称为Perl的编程语言,它允许您创建动态网页,例如布告栏。
Perl是一种在Web服务器上使用CGI机制的编程语言。通过执行用Perl语言编写的程序,可以启动CGI并创建动态网页。
Perl是一种服务器端技术,与JavaScript不同,它将在服务器上运行。
应该注意的是,如果CGI在租用服务器(共享服务器)上失去控制,并且服务器出现故障,则可能会出现使用限制。
CGI是[Common Gateway Interface](公共网关接口)的缩写,它是一个服务器端程序,可创建动态网页,例如公告牌和聊天室。通过使用CGI,您可以使用Ruby,Python和Perl等编程语言创建动态网页。您可以创建原始的访问柜台或购物车,然后将其发布在网站上。当前,许多Web服务器都在使用它。 CGI可以用于任何语言,包括Perl,Ruby和C,但是最受欢迎的是Perl语言。
Perl托管背景
Perl是[Practical Extraction and Report Language]的缩写,它是一种可以在许多平台上运行的编程语言,例如UNIX OS和Windows OS。该语言由Larry Wall于1987年开发。它被广泛用作Web应用程序创建,系统管理,文本处理等的开发编程语言。特别是,它在诸如文本搜索和提取的文件处理方面表现出色。 Perl属于编程语言中的脚本语言。
脚本语言是一种类型的编程语言的通用术语,该语言解释和执行相对容易编写和执行的程序(如脚本)。另外,所编写程序的特征之一是简化了直到执行的过程,并且可以立即输出结果。知名的脚本语言包括JavaScript,Perl,Python,PHP和Ruby。 Perl作为GPL(GNU通用公共许可证:软件许可证=免费软件许可证)免费分发。
Perl的表示法与C类似,但结合了C和其他编程语言(如sed,awk和shell脚本)的强大功能。由于它是不需要编译处理的解释器类型(转换为可以在计算机上执行的格式),因此可以在编写程序后立即执行。
它甚至可以使用脚本语言进行高速处理,并且具有高度的向后兼容性(与较早版本兼容)。
您也可以将新功能添加为模块。例如,基准,基准,编码,utf8,文件::基本名称,文件:复制,文件:路径,文件:规范,文件:温度,网络:FTP,标量:实用程序,可存储,系统:可以说还有一个很大的特点是,有许多模块可以用作标准模块,例如主机名,时间:块,FindBin等。
它也是跨平台的,可以在大多数类型的服务器上运行,包括类UNIX操作系统,基于Windows的操作系统,Mac OS,Linux OS和Web服务器(例如Apache和IIS)。
顺便说一句,开发人员说,除了表示“实用数据采集报告创建语言”的“实用提取和报告语言”之外,它还具有“病理折衷垃圾清单”的隐藏含义,“病理严重的垃圾输出设备”。
CGI Web托管在Perl中如何工作?
术语CGI来自通用网关接口。它只是我们称为API(应用程序编程接口)的另一个名称。故事的摘要,CGI只是Web服务器的API。
反过来,网络服务器是将网页发送到网络浏览器的软件(例如IE浏览器要么网景)。从技术上讲,浏览器应称为网络客户和使用它们的人应该称为浏览器。
互联网上有很多有关CGI的信息,但是,在大多数情况下,它们不匹配并且充满神话和偏见。让我们通过报告什么不是CGI来澄清一些疑问。
CGI不是一种编程语言:这意味着您可以使用任何选择的语言来编写CGI程序。显然,所选语言需要能够读取“输入”和写入“输出”。您知道没有提供这种可能性的任何编程语言吗?
您不需要Perl语言。 Perl可以像任何其他语言一样使用,例如PHP,C,Phyton,Object Pascal等。它不仅适用于Unix系统的专家。实际上,不需要专家,基本的编程技能已绰绰有余。
这不是编程风格。使用您自己的样式,因为只有使用“输入”和“输出”,我们才能使Web服务器与CGI进行“聊天”。
这听起来像是在开玩笑,但Web服务器只会等待-除非对该网站进行大规模访问。
Web服务器正在等待的只是客户端,即请求文件的浏览器。该文件可以是HTML页面,图形或任何其他类型的文件。
Web服务器收到请求时,将按以下顺序执行三个任务:
发送一行浅文字,其中包含要发送的文件的类型,即HTML,GIF,JPEG或其他任何文件;
发送空白行;
发送文件的内容。
Web服务器如何发送文件?
一次一个。令人惊讶的是,只有一个。
我们知道典型的网页由HTML文档和一些图形组成。每个文件都是一个不同的文件,需要将其发送到浏览器。由于Web服务器一次仅发送一个文件,因此浏览器需要为其所需的每个文件启动一个新的会话(请求)。幸运的是,Web服务器和浏览器都是多任务的。浏览器可以同时请求多个文件,Web服务器可以同时发送多个文件,但是,对于每个请求发送的文件,都需要一个单独的会话。
Web服务器仅能够发送文件吗?
不必要。实际上,发生的只是数据传输。请记住,服务器和客户端(浏览器)通常在不同的计算机上运行。他们甚至可以在具有不同微处理器的机器上使用不同的操作系统。浏览器仅请求“资源”,并且不知道也不需要知道服务器从何处获取数据。
但是,将典型的服务器编程为从文件中获取其数据。它只是从文件中读取数据并将其传输到客户端。作为此过程的结果,服务器仅发送静态数据,即服务器不会动态更改发送的数据。
如何发送动态数据?
这一点都不困难。 CGI正是为实现此功能而设计的。您只需编写一个程序即可动态生成数据,然后将此数据(而不是文件)发送到浏览器。
这就是CGI程序如何扩展服务器功能的方式,例如与DLL扩展Windows功能的方式一样。但是有一个很大的不同:CGI的编写要比Windows的编写简单得多。
但是,如何与浏览器对话?
无需与浏览器通话。服务器是完成这项工作的。游戏中最好的部分是,您甚至不需要与服务器对话。您要做的就是写入标准输出(标准输出)。以相同的方式,例如,您使用C语言中的printf()。
唯一不能忽视的是服务器在数据传输中执行的三个任务的顺序(如上所述)。由于服务器不知道您将发送的数据类型,因此需要向标准输出提供此信息。
上面说过,您可以使用自己的样式。好吧,来吧:假设您的服务器在DOS下运行。实际上,没有这样的服务器,但是有Windows服务器,Windows可以解释MS-DOS命令。因此,假设您想将当前目录的列表发送到Web(不是一个好主意,但是它显示了此任务的简单程度)。 MS-DOS还具有将目录列表发送到标准输出的直接命令。因此,从理论上讲,我们可以生成以下脚本:
1.任务:确定要发送的数据类型:
2.任务:发送空白行:
3.任务:发送内容:
上面的示例只是使用大多数人都知道的元素模拟CGI脚本的工作方式。引用它只是为了了解输出原理,而不是实际工作。现在,再迈一步...
如何获得输入?
首先,必须非常清楚网络不是交互式的。这意味着您的CGI程序无法请求用户输入,进行处理,发送某些结果(输出),要求其他输入等。
这就是为什么对CGI进行编程非常简单的原因。该程序在开始时仅从用户接收一次输入,并且仅发送一个响应(输出)。但是,输入和响应都可以是任意大小和复杂度,具体取决于程序的内容。
也就是说,您需要知道您的程序可以通过两种方式接收用户输入,具体取决于浏览器将其发送到服务器的方法。
浏览器在哪里找到用户输入?
浏览器接受使用HTML表单的输入。表单可以指示浏览器使用两种方法发送数据:GET和POST。
GET方法将条目作为URL的一部分发送。 POST方法将条目作为标准输入发送。第二种方法似乎具有一些优点:
可以发送更多数据(URL有大小限制);
数据未记录在日志文件中。例如:作为URL的一部分发送密码会在数据通过的各种系统上留下痕迹!
数据不会出现在浏览器的地址字段中。同样,在浏览器中显示密码可能并不符合用户的喜好。
我怎么知道正在使用哪种方法?
Web服务器在加载其CGI程序之前,会初始化一些上下文变量。您可以分析这些变量以了解输入数据的数量和来源。
上下文变量之一是REQUEST_METHOD。它的值可以是POST,GET,最后是HEAD。
如果REQUEST_METHOD指示POST,则CONTENT_LENGTH变量将指示应通过stdin读取多少字节的数据,而CONTENT_TYPE变量将指示数据源自表单(或可能源自其他某种来源)。
一旦接收到数据(由服务器读取),就可以立即对其进行处理,并可以通过标准输出发送响应(输出)。答案通常以HTML数据的形式编写,并带有所有必要的格式。但是CGI程序可以产生任何类型的响应,例如GIF文件或其他任何响应。
这就是为什么您需要在传输的前两个阶段中向浏览器指示将要发送的数据类型的原因。我们可以通过发送Content-type字符串来标识HTML数据:text / Html(任务1),后跟一个空字符串(任务2)。使用C语言将是printf(“ Content-type:text / Html \ n \ n”);其中\ n是换行符,第二个\ n是另一个换行符以指示空行。