cgi到底是个什么东西
自己找了一些cgi方面的资料,还是不能完全理解。
谁能结合web发展的历史,说一说cgi和web服务器(APACHE,iis)还有php的关系。
回复讨论(解决方案)
公共网关接口CGI(Common GatewayInterface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
版主能不能给个形象点的图,
或者打个比喻什么的。。
cig是一个协议,描述了web服务器(nginx、apache等)和应用程序网关(php、python等)之间的信息交换。
通常情况下,当web服务器接收到来自于浏览器的文件请求时,就把浏览器请求的文件发送给浏览器,并告
诉浏览器发送的文件的类型。但是,如果浏览器请求的不是一个文件,即URL指向的是一个程序(或脚本),则
Web服务器将首先执行这个程序,然后再将程序产生的输出结果像文件一样发送给浏览器。任何遵从CGI标准的、
由Web服务器执行的、能从Web服务器接收信息或发送信息给Web服务器的程序叫做CGI程序。CGI程序与所用的Web
服务器无关,在任何Web服务器上都可执行(任何特定的web服务器上都能执行).
这个图片很简单,但是很能说明问题
cgi只是一个规范,没有一个实际的东西(或程序)叫cgi。
简单来说,cgi规定web server会向后边的(支持cgi)应用程序输入什么,并且能处理应用程序的那些输出。
就是一套规范。
你要开个饭馆,但开饭馆需要一系列的手续,办照,进货渠道,租门脸,招员工这也可以算是一套规范,按照这套规范走,你才能开的起来。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

PHP logging is essential for monitoring and debugging web applications, as well as capturing critical events, errors, and runtime behavior. It provides valuable insights into system performance, helps identify issues, and supports faster troubleshoot

Laravel simplifies HTTP verb handling in incoming requests, streamlining diverse operation management within your applications. The method() and isMethod() methods efficiently identify and validate request types. This feature is crucial for building

The Storage::download method of the Laravel framework provides a concise API for safely handling file downloads while managing abstractions of file storage. Here is an example of using Storage::download() in the example controller:
