Apacheの使用言語をwebで検索するとC言語という文字を見ることが出来たのですが、
この言語以外に使用できるものはありますか。
C++あたりが使用できるような気がするのですが…
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
Apache HTTP Serverのモジュールを作成するための言語と言うことでしょうか?たとえば、
- ModSecurity
- PHP ※ mod_php
- Phusion Passenger ※ mod_rails
のようなApacheへモジュールとして組み込める物を作りたいと言うことであってますでしょうか?
その場合、C言語からリンク可能なオブジェクトファイルを作成出来る言語であればC言語である必要はありません。また、静的or動的リンクライブラリとして作成し、それをC言語から利用する形も可能です。ただし、どうやっても、Apache本体とやり取りするインターフェースの部分はC言語で作成しないと難しいです。ですので、少なくともC言語の知識は必須です。処理の多くをC++言語などの他の言語で作成したい場合は、C言語から他の言語で作成したものを利用するにはどうすればいいのかを調べればいいでしょう。
なお、上の話はCGIやmod_php、mod_rails、mod_perlなどでWebアプリケーションを動かすのとは全く別の話です。CGIはそのOSのコンソール(正確にはシェル)上で直接実行可能である(つまり、ターミナルを開いて、/full/path/hoge
だけで実行できる)ものであれば、全てそのままWebアプリケーションとして使用できます(ただし、Windowsのみ少し動作が異なります)。また、mod_php、mod_rails、mod_perlなどはそれに対応した言語(mod_phpであればPHP)を用いたWebアプリケーションを使用できるようになります。例えば、PHPで書かれたWebアプリケーションを動かしたいのであれば、CGIで動作できるようにCGIのやり方に合わせるか、対応するモジュール(PHP本体に付属のmod_php)を入れることで可能です。
しかし、言語によってはCGIにするには非効率で、かといってモジュールがないものもあります。例えばJava(Scalaを含む)やJavaScriptです。こういう場合はその言語用のHTTP Severが用意されている場合があります。JavaであればTomcatやJetty、JavaScriptであればnode.jsなどです。また、Goのようにそれ自体がHTTP Serverとして動作できる言語もあります。この場合は、Apache HTTP Serverとは別にそれらのプロセスを起動し、Apache HTTP Serverはリバースプロキシとして動作させて連係します。CGIを使わずにこのような使い方がメインの場合、リバースプロキシとして動作させるだけではApache HTTP Serverは重すぎると言うことで、フロントにはnginxを使うのが現在の主流のようです。
投稿2016/01/10 22:02
総合スコア21735
0
apache webサーバープログラム自体は C言語で開発されています。
apache経由で動作する Web アプリケーションはさまざまな言語で開発できるようになっています。
(apache を使わないこともできる場合も多いです。)
これは IIS 等他の Webサーバーでも同様です。
(IISの開発言語がなんであるかはちょっと知りませんが。)
投稿2016/01/10 18:07
総合スコア1193
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/11 12:38
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/11 00:04