これ何て呼びますか

最近SNSサイトのmixi(ミクシィ)を利用し始めて気になったのですが、
URLを見ると各ページの拡張子が.plになっています。
これってperlですよね?

しかし、25万人もの会員を有するサイトにおいて、
サーバーサイドでの処理が可能なものなのでしょうか?
通常perl/CGIはサーバー側の負荷が高いのだと認識していたのですが、
こういう考え方自体が間違っているんでしょうか?

ちなみ私は、ActionScript、Lingo、それにPHPやMySQLなんかも使って
仕事をしているのですが、何せ見よう見真似でやらせてもらってるだけなので、
実際のところWebアプリなど初心者同然です。

小さな自社には技術者も他に居ないので、
技術に明るい方からのご回答がいただければ幸いです。
よろしくお願いいたします。

A 回答 (2件)

まず、CGIとperlは全く別物だということを認識する必要があります。



WEBサーバーは、事実上ほとんどapacheなので、以下apacheと書いてしまいますね。

CGIというのは、apacheから、外部プログラムを起動して、そのプログラムの実行結果を、見ている人のブラウザにかえす仕組みです。
たまたま、perlが多く使われていただけで、実行する外部プログラムがperlである必要性はどこにもありません。誰もそんなことはしませんが、設定さえすれば、perlの代わりにXFree86を使って、
「ユーザーがページにアクセスするとサーバー側でXが立ち上がる」
サイトを作ることもできますし、perlの代わりにrebootを使えば、
「ユーザーがページにアクセスするとサーバーが再起動する」
サイトを作ることもできます。

ここまで極端ではありませんが、C言語で書かれたCGIプログラムというのも多く存在します。

PHPが早いというのは、apacheに組み込まれているからです。PHPは、mod_phpというapacheの組み込みモジュールとして実現しています。これは、早い話が、外部プログラムを立ち上げるのではなく、
「サーバーソフトであるapacheそのものが、PHPスクリプトを解釈するようにする」
ことです。Windowsでいえば、PHPスクリプトの解釈モジュールがDLLになっていると言えばわかりやすいでしょう。

で、CGIがperlに限らないのと同様、perlもCGIに限りません。現在では、perlについても、mod_perlというapacheの組み込みモジュールが存在して、PHPと同じ仕組みで、perlスクリプトを解釈できるようになっています。仕組みがPHPと同じなので、速度も負荷もPHPと大差ありません。
おそらく、ご指摘のサイトはこの方法を使っているのだと思います。
    • good
    • 0
この回答へのお礼

ご返事遅くなり申し訳ありませんでした。
わかりやすいご回答ありがとうございます。

「組み込みモジュール」と書いてくださっているのを見て、なるほど、と思いました。どうやらかなり初歩的な質問だったようで、お恥ずかしいかぎりです。

CGI=Perlではないということを知ってはいたのですが、入門書を斜め読みしていただけではきちんと理解できていなかったようです。mod_phpにしても、そう言えば設定ファイルにそんな修正を加えていたような気が・・・!と、ようやく頭の中がつながりました。

具体的なご説明、ありがとうございました。ご回答を足がかりに、精進していきたいと思います!

お礼日時:2005/02/04 02:50

まさに、あなたの疑問を検証しているサイトです。

(perl vs PHP)

そもそも、スクリプト言語perlは、c言語などコンパイラを用いて実行ファイルを作る物に比べ
絶対的に遅いです。PHPも同様に遅いです。
純粋に、データの圧縮やソートなどのロジックを書き比べると決定的な差がでます。

しかしながら、WEBサイトにおけるサーバ側のロジックの処理負荷というのは、
決して高い物ばかりではなく、高いとしても高度なロジックによってではなく、
データベース処理など他の要素によるものが多いかと思います。
(ここ「教えて!goo」なんて、DBに引っ張られているんだろうと想像します)

故に、perl(およびPHP)などのスクリプト言語で書いたら、遅くて話にならないという
ことにはなりません。

参考URL:http://homepage3.nifty.com/hippo2000/perltips/ph …
    • good
    • 0
この回答へのお礼

さらにご返事遅くなってしまいました。申し訳ありません。
リンクのご提供、ありがとうございます。
リンク先にある「mod_phpの相手は当然mod_perl」という記述、なるほどです。

実は以前、MySQLとPHPで作るブログ、なんて本を買ってまして、それで「perlじゃ遅くて出来ないからPHPなんだな」と早合点していたようです。

単純に<速度比較>という見地から考えていれば、このようにより詳細な情報を見つけることが出来たのですね。自分の疑問そのものがぼんやりとしていたのだということがよくわかりました。

私は「OKweb」から質問を記入したのですが、確かにPHPだから速いというわけでもなさそうですね。
ブラウジング障害が大変大きいようですね。。。

#1の方のご回答とあわせ、これでようやく概観がつかめました。安心してスクリプティングを続けていけそうです。サーバーのしくみについても、もう一度確認するようにします。

明瞭なご回答、ありがとうございました。

お礼日時:2005/02/04 16:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!