CGI

本篇内容 CGI 及 Apache与PHP之间的关系

定义:

CGI是外部应用程序与web服务器之间的接口标准,是在CGI程序和web服务器之间传递信息的过程

CGI规范允许web服务器执行外部程序,并将它们的输出发送给web浏览器

CGI将web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体

 

介绍:

Common Gateway Interface,简称CGI。在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。这样说大概还不好理解。那么我们看一个实际例子:现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户端输入一些信息,如评论之类的东西。接着用户按一下“发布或提交”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的CGI程序中,于是CGI程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后CGI程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。

处理步骤:

⑴通过Internet把用户请求送到web服务器
⑵web服务器接收用户请求并交给CGI程序处理。
⑶CGI程序把处理结果传送给web服务器。
⑷web服务器把结果送回到用户。

 

工作原理

1)浏览器通过HTML表单或超链接请求指向一个CGI应用程序的URL

2)服务器收发到请求

3)服务器执行指定CGI应用程序

4)CGI应用程序执行所需要的操作,通常是用户所输入的内容

5)CGI应用程序把结果序列化为网络服务器和浏览器能够识别的文档(通常是HTML网页)

6)网络服务器把结果返回到浏览器中

 

Apache是Web服务器,负责回应所有收到的Web请求。比如你访问,那么Apache就找到根目录下的1.html文件,将其中的内容返回。

如果我需要这个地址能显示动态的东西,比如当前日期时间,那么就写一个PHP程序1.php,当Apache收到的请求时,通过CGI调用PHP解释程序,执行1.php文件的内容,然后将返回的字符串返回给客户端


作者:yskin
链接:https://www.zhihu.com/question/19896544/answer/13284800
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2018-08-09 13:09  super久违  阅读(220)  评论(0编辑  收藏  举报