プロが教える店舗&オフィスのセキュリティ対策術

ネットワークプログラミングのPerl開発環境構築でわからない点があります。コマンドラインからは実行できたのですが、ブラウザのURLにHttp://…/スクリプトファイル.pl を書き込んで実行できると参考書にはあるのですが、サーバーではないマシンにはlocalhostは存在しないので、そんな無茶な!という状況にあります。どなたか助け船をお願いします。

A 回答 (14件中11~14件)

通信システムのOSI参照モデルというのをご存知でしょうか?


HTTPはその中でも表層部分に当たる第7層に位置しています。
これはなにを意味するかというと第3層及び第4層にあたるTCP/IPの存在する環境ありきの仕組みを意味しています。
俗にlocalhostの127.0.0.1は中でも特殊なループバック用のIPアドレスが通常割り当てられていて(意図的にそうじゃないようにも出来る)、結線で言えば出力がそのまま入力につながっているようなイメージでいてください。
ブラウザからHTTPを介してシステムプログラムと通信をするには、普通に考えればHTTPサーバの介在が必要ということです(但しMSのブラウザは、例によって自社OS用に裏技的の変な仕組みがあるのかも)。
その開発したプログラムにhttpを利用した通信機能を加えれば可能かもしれませんし、Perlで簡易httpサーバを作るのもそう難しいことではないのですが、直接ブラウザからシステムプログラムをコールするのは無茶かもしれません。
ここは素直にxamppなどでサーバ環境を構築した方が良いと思います。
簡易HTTPサーバについては「インターネットを256倍使う本vol.1&2」あたりが読みやすく書いています。
xamppはWindowsのperl環境を使われているのなら説明の必要は無いでしょう。 有名なので検索ですぐ出てきます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
ご回答を理解しきれないレベルであることを認識したしだいです。おすすめのあった参考書あたりから、あらためて挑戦してみます。

お礼日時:2009/09/26 02:54

・・・弱そう



>開発環境を作ろうとしている
じゃあ、エンジンだけでやればいいじゃん。

perl スクリプトファイルで出来るでしょ?
やれよ。SETコマンド使って。
    • good
    • 0
この回答へのお礼

初心者の愚問で皆さんを煩わしたと思われます。
御容赦ください。
ありがとうございました。

お礼日時:2009/09/26 02:55

localhostというのは特別な名前なアドレスです。


http://ja.wikipedia.org/wiki/Localhost

サーバー環境の整っていないマシンではアクセスできないだけで、システム自体には既に設定してあるはずです(ちなみにその設定は、例えばWindowsXPやVista(などのNT系)ならC:\Windows\System32\drivers\etcの中のhostsファイルにしてあります。それがNo1さんのおっしゃるhostsです。

ということで、まず参考書に載っていると思うので、ローカルなサーバー環境を構築してください。おそらくApacheかAN HTTPDあたりが紹介されていると思います。

ちゃんと環境を整えたら、サーバーで設定したローカルのルートディレクトリに
http://localhost/
でアクセスできるようになっているはずです。

ちなみにあまり関係ないかもですが、localhost等の一般的にアドレスと呼ばれているものは、ただのIPアドレスの別名です。例えばlocalhostならIPv4アドレスなら127.0.0.1です。なので
http://127.0.0.1/
としてもアクセスできます。

この回答への補足

Apacheサーバ,Perlエンジンをインストールしたサーバマシンとは別のPerlエンジンだけをインストールしたクライアントマシン上で、Perl版通信プログラムの開発環境を作ろうとしているしだいです。この辺で既に基本的な初心者的誤解があるのでしょうか? クライアントマシンにはApacheのhtdocsフォルダがないので、http://localhost/パールのスクリップ・ファイル名、という指定は無意味なわけです。はたしてどのようにURL欄に、あるいはAction設定に入力したらいいのかわからないのです。  

補足日時:2009/09/18 01:27
    • good
    • 0
この回答へのお礼

ありがとうございました。
まだ基本的なことがわかっていないと反省しました。
あらためて参考書を見渡すと、Perlも奥の深い言語です。
CGIをいくつか作ったくらいでは、ごく初歩的な機能を使っているに過ぎないと思いました。

お礼日時:2009/09/26 03:03

localhostはhostsに存在しますが何か?

    • good
    • 0
この回答へのお礼

初心者の愚問で皆さんを煩わしてしまったようです。
質問の仕方自体が初心者レベルでした。
お詫びとお礼を申し上げます。
とてもありがたい助言を沢山いただきました。次の質問は、回答しやすい質問を目指します。

お礼日時:2009/09/26 03:08

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