Go で CGI を使用することは、一般的な Web 開発テクノロジです。この記事では、Go で CGI を使用して Web アプリケーションを実装する方法を紹介します。
CGIとは何ですか?
CGI は Common Gateway Interface の略で、Web サーバーと他のアプリケーション間の対話のための標準プロトコルです。 CGI を使用すると、Web サーバーは他のアプリケーションにリクエストを送信し、その応答を受信してクライアントに送り返すことができます。 CGI は、さまざまな種類の Web アプリケーションの作成に使用できる、非常に柔軟でスケーラブルなテクノロジです。
Go での CGI の使用
Go での CGI の使用は、他のプログラミング言語と似ています。まず、Web リクエストを処理する CGI スクリプトを作成する必要があります。次に、Web サーバーに CGI 実行スクリプトのパスを設定します。最後に、Web リクエストが CGI スクリプトに送信されます。
CGI スクリプトの作成
Go では、標準ライブラリの「net/http/cgi」パッケージを使用して CGI スクリプトを作成できます。パッケージには、2 つのパラメータを受け入れる「ServeCGI」と呼ばれる関数が含まれています。実行される CGI スクリプトのコマンドを表す「cmd」文字列と、クライアント側に書き込まれる応答を表す http.ResponseWriter 型の変数です。簡単な CGI スクリプトの例を次に示します。
package main import ( "fmt" "net/http" "net/http/cgi" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { cgi.Handler{ Path: "/path/to/cgi/script.cgi", Dir: "/path/to/cgi/directory", Env: []string{}, }.ServeHTTP(w, r) }) fmt.Println("Listening on :8080...") http.ListenAndServe(":8080", nil) }
上の例では、Web リクエストを指定された CGI スクリプトに送信する「/」ルートを作成しました。 Handler 構造では、CGI スクリプトのパスとディレクトリ、および環境変数 (必要な場合) を指定する必要があることに注意してください。
Web サーバーの構成
Web サーバーで CGI スクリプトを構成するには、Web サーバーの構成ファイルを編集し、次の行を追加する必要があります:
ScriptAlias /cgi-bin/ /path/to/cgi/directory/
上の例では、「/cgi-bin/」パスを CGI スクリプトが配置されているディレクトリにマップします。次に、Web リクエストを「/cgi-bin/script.cgi」パスに送信すると、Web サーバーが CGI スクリプトを自動的に実行します。
Web リクエストの送信
これで、Go で CGI を使用する準備が整いました。 Web リクエストを送信するには、ブラウザで「http://localhost:8080/」にアクセスすると、Web サーバーがリクエストを CGI スクリプトに自動的に送信します。
概要
CGI は、さまざまな種類の Web アプリケーションの作成に使用できる一般的な Web 開発テクノロジです。 Go では、標準ライブラリの「net/http/cgi」パッケージを使用して CGI スクリプトを作成できます。 CGI スクリプトを作成し、Web サーバーで CGI 実行スクリプトのパスを構成することで、CGI を使用して Go で Web アプリケーションを簡単に作成できます。
以上がGo で CGI を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。