Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのCGIとは何ですか?


  • Common Gateway Interface(CGI)は、外部ゲートウェイプログラムがHTTPサーバーなどの情報サーバーとインターフェイスするための標準です。
  • 現在のバージョンはCGI/1.1であり、CGI/1.2は進行中です。

ウェブブラウジング

CGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページまたはURLを参照するとどうなるかを見てみましょう。

  • ブラウザがHTTPWebサーバーに接続し、URL、つまりファイル名を要求します。
  • WebサーバーはURLを解析し、ファイル名を探します。そのファイルが見つかった場合はブラウザに送り返します。それ以外の場合は、間違ったファイルをリクエストしたことを示すエラーメッセージを送信します。
  • WebブラウザはWebサーバーから応答を受け取り、受信したファイルまたはエラーメッセージを表示します。

ただし、特定のディレクトリ内のファイルが要求されたときにそのファイルが返送されないようにHTTPサーバーを設定することは可能です。代わりに、プログラムとして実行され、そのプログラムが出力するものはすべて、ブラウザに表示するために返送されます。この機能はCommonGatewayInterfaceまたはCGIと呼ばれ、プログラムはCGIスクリプトと呼ばれます。これらのCGIプログラムには、Pythonスクリプト、PERLスクリプト、シェルスクリプト、CまたはC++プログラムなどがあります。

CGIアーキテクチャ図

PythonのCGIとは何ですか?

Webサーバーのサポートと構成

CGIプログラミングを続行する前に、WebサーバーがCGIをサポートし、CGIプログラムを処理するように構成されていることを確認してください。 HTTPサーバーによって実行されるすべてのCGIプログラムは、事前設定されたディレクトリに保存されます。このディレクトリはCGIディレクトリと呼ばれ、慣例により/ var / www/cgi-binという名前が付けられています。慣例により、CGIファイルの拡張子はとしてです。 cgiですが、Python拡張子.pyを使用してファイルを保持することもできます。

デフォルトでは、Linuxサーバーは/ var/wwwのcgi-binディレクトリにあるスクリプトのみを実行するように構成されています。 CGIスクリプトを実行する他のディレクトリを指定する場合は、httpd.confファイルの次の行にコメントを付けてください-

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
</Directory>
<Directory "/var/www/cgi-bin">
Options All
</Directory>

ここでは、Webサーバーが正常に稼働しており、PerlやShellなどの他のCGIプログラムを実行できることを前提としています。


  1. PythonのOSモジュールとは何ですか

    はじめに PythonのOSモジュールには、開発者が現在作業しているオペレーティングシステムと対話できるようにするさまざまな機能が付属しています。この記事では、主にディレクトリ/フォルダの作成と削除、ディレクトリの名前の変更、さらにはファイル処理の基本について学習します。 面倒なことはせずに、始めましょう。 はじめに PythonのOSモジュールは、インストール時にpython内にパッケージ化されています。これは、PIPを使用して個別にインストールする必要がないことを意味します。さまざまなメソッド/関数にアクセスするには、モジュールをインポートする必要があります。 import os

  2. PythonのCGIとは何ですか?

    Common Gateway Interface(CGI)は、外部ゲートウェイプログラムがHTTPサーバーなどの情報サーバーとインターフェイスするための標準です。 現在のバージョンはCGI/1.1であり、CGI/1.2は進行中です。 ウェブブラウジング CGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページまたはURLを参照するとどうなるかを見てみましょう。 ブラウザがHTTPWebサーバーに接続し、URL、つまりファイル名を要求します。 WebサーバーはURLを解析し、ファイル名を探します。そのファイルが見つかった場合はブラウザに送り返します。それ以外の場合は、