Common Gateway Interfaceとは:動作とそのアプリケーション

問題を排除するために楽器を試してください





ブラウザがどのようにして情報をすばやく瞬時に取得するのか知りたいですか?これは、CGIの動作、長所、および短所を説明する記事です。 Common Gateway Interface(CGI)は、Webサーバー上でスクリプトとプログラムを実行するために使用される一連の標準です。 CGIは標準インターフェースであるため、 コミュニケーション WebサーバーとクライアントのWebブラウザの間は、指定されたルールに従います。言い換えると、Common Gateway Interfaceは、WWWサーバーと外部データベースおよび情報ソースの間のミドルウェアとして機能します。 CGIは、プログラムがHyperText Transfer Protocol(HTTP)サーバーと対話する方法についても説明したWWWコンソーシアムによって説明されました。スクリプトはPHPとASPで記述され、ページが読み込まれて結果がクライアントのブラウザに送信される前に、ウェブサーバーで処理されます。

Common Gateway Interfaceとは何ですか?

Common Gateway Interface(CGI)は、Web間で情報を交換するための一連のルールとして説明されています。 サーバ およびカスタムスクリプト。 CGIは、Webサーバーがデータを送信してユーザーと対話するための最も一般的な方法の1つです。使用されるプログラミング言語は、C、C ++、Java、Perl、Python、またはVB(Visual Basic)です。




いくつかのHTMLページはフォームで構成されており、フォームで利用可能なデータを処理するためにCGIプログラムを使用します。スクリプトまたはプログラムは、Webユーザーにフィードバックを提供するために使用される代替方法と見なされますが、これらはWebサーバーではなくユーザーのマシンから動作し、Javaスクリプト、Javaアプレット、ActiveXコントロールなどのプログラムを利用します。これらのさまざまなテクノロジは全体としてクライアント側ソリューションと呼ばれ、CGIの使用は、処理がWebサーバーから行われるため、サーバー側ソリューションと呼ばれます。

Common GatewayInterfaceのしくみ

次の一般的なゲートウェイ図は、ユーザーがハイパーリンクをクリックして任意のWebページを検索および参照したときにCGIがどのように機能するかを理解するのに役立ちます。クライアントマシン上で動作するWebブラウザは、ハイパーテキスト転送プロトコル(HTTP)を使用してWebサーバーと情報を交換します。 CGIプログラムは、Webサーバーが存在するのと同じシステム上にあり、同じシステムから動作します。



Common-gateway-interface-working

common-gateway-interface-working

Webサーバーは、ブラウザーから受信した要求タイプに基づいて、ドキュメントファイルシステムからドキュメントを提供するか、CGIプログラムを実行しようとします。以下は、CGIスクリプトを使用してHTMLドキュメントを作成するための一連のイベントです。

  • ユーザーがHTTPWebサーバーを要求し、URLを要求します。ユーザーは、ブラウザのロケーションウィンドウにURLを入力することもできます。これは、ハイパーリンクにすることも、HTMLタグとして指定することもできます。
  • WebサーバーはURLを分析し、ファイル名を探します。それ以外の場合は、URLに記載されているゲートウェイプログラムをアクティブにし、URLを介してプログラムにパラメータを送信します。
  • Common Gateway Interfaceゲートウェイは、必要な情報を処理し、ファイル/ HTMLテキストをWebサーバーに送信します。さらに、サーバーはMIMEヘッダーを追加し、HTMLテキストをブラウザーに送信します。
  • Webサーバーから結果を取得すると、Webブラウザーは受信したドキュメントまたはエラーメッセージのいずれかを表示します。
    CGIの特徴
  • CGIは、単純なシェルスクリプトとインタラクティブなアプリケーションを作成するために使用されます
  • それらは一連のルールで明確に定義されています
  • CGIは、Perl、Cなどの単純なプログラミング言語を使用して記述されています。
  • CGIは、HTMLと簡単にインターフェースできるテクノロジーです。
  • CGIは、既存のブラウザとの互換性が高いです。

利点

  • Common Gateway Interface言語は仕様に準拠している必要があるため、任意のプログラミング言語で記述できます。
  • CGIを使用すると、作成済みのコードを使用でき、ユーザーは独自のコードを再度作成する必要がなくなります。
  • アプリケーションがサーバー上で動作するため、シンプルで安全です。
  • 高度な機能は、JavaよりもCGIで実行した方がはるかに簡単です。
  • 迅速に対応します。

短所

  • Common Gateway Interfaceは、多くの処理時間を消費します
  • HTTPがステートレスプロトコルのままの場合、CGIでオーバーヘッドが発生します
  • これは、主にPerlの既存のコードベースで構成されています
  • CGIスクリプトが実行されるたびに、プロセスが再度開始されます
  • サーバーの機能を低下させます

Common GatewayInterfaceのアプリケーション

CGIは、Webを静的データの収集から新しいインタラクティブ構造に変換します。この構造では、ユーザーは多数の質問を操作してアプリケーションを実行できます。 CGIを使用して設計されたアプリケーションのいくつかは次のとおりです。


フォーム

フォームはCGIの最も重要なユーザーの1つです。フォームを使用すると、ユーザーは情報を共有でき、HTMLのサブセットになります。 CGIプログラムは、選択基準に一致する適切なフォームを処理および選択することにより、これらのフォームをユーザーとプロバイダーの両方にとって非常にインタラクティブにします。

ゲートウェイ

Webゲートウェイは、プログラムやスクリプトに似ています。これは、クライアントがデータベースから直接読み取ることができない必要な情報にアクセスするために使用されます。 CGIプログラムは、ゲートウェイとして機能し、適切なプログラミング言語を使用して情報を読み取り、フォーマットしてクライアントと共有するために使用されます。

仮想ドキュメント

仮想ドキュメントの作成は、CGIの最も重要な部分です。一方 バーチャル ドキュメントはユーザーの要求に応じて作成され、仮想HTML、画像、プレーンテキストから、場合によっては音声までさまざまです。

Common GatewayInterfaceの実用的なアプリケーション

CGIの強力な側面を説明するWeb上の印象的なCGIプログラムのいくつかを以下に示します。

Lycosワールドワイドウェブ検索

このサーバーは、ユーザーが特定のドキュメントを参照するのに役立ちます。 Lycosは、ユーザーの要求に応じて、ユーザーのWeb検索条件に一致するハイパーテキストドキュメントを返します。リンクはwww.lycos.comです。

塗り絵

着色を楽しむユーザーのために設計された素晴らしいアプリケーション。リンクはwww.ravenna.com/coloringです。

日本語から英語への辞書

これは、仮想ドキュメントベースのアプリケーションです。最先端のCGIプログラムは、ユーザーに英語の単語を問い合わせ、適切な画像を含む同等の日本語の単語を返します。

世界地図付きゲストブック

フォームベースのアプリケーションを使用しているため、ユーザーは誰でも読むことができるメッセージを残すことができます。

Common GatewayInterfaceのセキュリティ上の懸念

ユーザーのブラウザに実装されているCGIスクリプトには、バグが含まれている可能性があります。それぞれのバグは作成する可能性があります セキュリティ 問題。 CGIスクリプトで発生する可能性のあるセキュリティの問題は、次の2つの方法で示されます。

  • ホストシステムに関する情報を意図的または意図せずに漏らすと、ハッカーが簡単に侵入するのに役立ちます
  • リモートユーザー入力を処理するCGIスクリプトは、リモートユーザーがコマンドを実行するように欺く攻撃に対して脆弱である可能性があります。

よくある質問

1)。共通ゲートウェイインターフェースを定義します。

Common Gateway Interface(CGI)は、Webサーバーとカスタムスクリプトの間で情報を交換するための一連のルールとして説明されています。

2)。 CGIでサポートされているプログラミング言語のいくつかに名前を付けます

C、C ++、Java、Perl、Python、またはVB(Visual Basic)

3)。 CGIの機能を1つ挙げてください

簡単なシェルスクリプトとインタラクティブなアプリケーションを作成するために利用されました

4.CGIの長所と短所を1つ挙げてください

利点– CGIを使用すると、作成済みのコードを使用でき、ユーザーは独自のコードを再度作成する必要がなくなります。

不利益 - サーバーの機能を低下させ、多くの処理時間を消費します

5)。 CGIの形式は何ですか?

フォームはHTMLのサブセットであり、データの収集とインタラクティブなコミュニケーションに使用されます

6)。 CGIオーバーヘッドとは何ですか?

HTTPがステートレスプロトコルになると、CGIでオーバーヘッドが発生します。これは、CGIプロセスがブラウザの「ヒット」ごとに初期化されることを意味します。

7)。なぜPerlはCGIのために多くの人々によって使用されているのですか?

Perlは使いやすいツールです。テキストファイルから情報を抽出し、任意のテキストファイルをスキャンし、その情報に基づいてレポートを印刷する強力な機能を備えています。

この記事では、Common GatewayInterfaceの定義について説明しました。また、Common Gateway Interfaceの動作原理、長所と短所、使用法、動作について詳しく説明しました。 CGIのアプリケーション 世界中で、そして起こりうるセキュリティの脅威。