• ベストアンサー

ASPとCGIの違い

こんにちわ。 ASP超超超~~~~初心者の者です。 HPで良く見られると思いますが、 フォームをメールで送信をASPを使って記述しています。 同じアクションをCGIで書かれているページもありますよね? その他、カウンターやBBSなどもASPでありますよね? ASPとCGIの違いは何なんでしょうか? CGIよりASPの方が利点があるのでしょうか? また、セキュリティ―面ですが、フォームなどCGIやASPを使うことによって 個人情報を守る事ができるのですか? すみません。とても初歩的な質問で・・・・ お時間があるときで結構ですので、コメントいただければ嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.2

ASPとCGIの違いを少ない言葉で表すのは難しいですが、無理やり言えば、ASPはWindowsサーバーのHPで使える、動的ページを作成するもので、CGIはUNIXのサーバー(Windowsでもできますが)で動的ページを作成するための仕組みです。 特徴をいえば、ASPは、消費メモリがCGIより少なく、簡単な処理であれば、CGIより処理速度は速いです。CGIは、一般にスピードは遅いですが、プログラムにバグがあったときにも、そのページが使えなくなるだけで(バグの程度にもよりますが)ほかのページは、正常に動きます。ASPは、バグがあってとまると、Webサーバーソフト自信がとまる可能性があります。(ほかのページも使えない) セキュリティ面ですが、この問題は、最先端の分野ですので、ASP、CGIを使ったから守れるというものではありません。ASP、CGIを使うことで守ることができるのは、それぞれのプログラムコードです。 個人情報の一例としては、フォームにユーザーIDやパスワードを入力させて認証すれば、そのユーザーIDパスワードは、そのままネットワークを流れていきますので、その時点でセキュリティー確保は難しいことになります。

tariran
質問者

お礼

お返事おそくなりましてすみません。 参考になりました。有難うございました。 がんばります。

その他の回答 (4)

  • kenbo00
  • ベストアンサー率0% (0/4)
回答No.5

こんにちわ!俺も初心者で詳しくはないんですがこんな感じでどうでしょう? ・ ASPとCGIの違い   まあよく言われているのがASPの場合   ・Webサービスと同一メモリ空間で高速動作する   ・COM(Component Object Model)コンポーネントによる機能拡張が    容易に行えるという、大きな大きなアドバンテージを持っています。   ・データベースのとの連携もかなり容易になります。   あとはASPの場合、セッション機能っていうのがあって複数ページにまた   がったクライアントの情報保持が容易にできます。   俺がわかるのこんなとこぐらいです。  最後にsnowairさんの回答でASPがIEでないと見れないみたいなこと  書いてありましたがそんなことありませんよ。  そもそもASPっていうのはクライアント(ようはブラウザ)の環境に依存されな   い為に開発されたものです。  その為いままでクライアント側で処理してた内容をサーバサイドで処理するため  WWWサーバーはIIS及びPWSでしかASPは対応してません。       

tariran
質問者

お礼

参考になりました、有難うございました。

  • m_nkgw
  • ベストアンサー率47% (42/89)
回答No.4

揚げ足取りみたいで申し訳ないのですが。 >ただし、ASPはIE上でしか動きません!OSがWin系以外だったり、ブラウザがIE以外だと動かないのです。 ASPはクライアントのブラウザには依存しません。 ASPを解析してページを吐き出してくれるIIS(Internet Infomation Service)がWindows上で動くものなので「サーバーがWindowsNTマシンであること」が必要になるだけです。 セキュリティ管理はCGIだから守れる、ASPだから守れない、というより、それらを用いているサーバーがどれだけ堅牢かで決まります。マシンとして脆弱なサーバーであっても、上手な運営方法によって安全なサーバーになることもできます。セキュリティ管理に必要なのは正しいネットワーク、セキュリティ知識、それから独創的な発想力だと思います。上級者の課題ですね。 ASPを試してみたければ、セキュリティに関係のないところから始められるのがいいと思います。慣れると楽しいですよ。 と、書いているうちにmsystemさんから補足が入っていました(笑)

tariran
質問者

お礼

お礼が遅くなってすみません。 いろいろと有難うございました。

  • msystem
  • ベストアンサー率42% (79/186)
回答No.3

ひとついい忘れていました。 ASPでも、クライアントのブラウザは限定されません。 私は、ASPを使って生産管理システムを作成しましたが、クライアントは、OS/2のNetScape、MacのNetscape、IE、WindowsのIEの4種類で正常に動作しています。 ページの書き方だけわかれば、i-mode、EZ-WEB、J-SKYなどの形態からのページも作ることができます。

  • snowair
  • ベストアンサー率29% (13/44)
回答No.1

CGIが主にWEBサーバから起動される「子プロセス」として動作するのに対し、ASPはWEBサーバ内の拡張モジュールである「スクリプトエンジン」がスクリプトを実行します。 CGIは静的な空間でしかなかったWEBの世界を動的に変えました。 しかし一つのWEBアプリケーションを構築するためには、数多くのCGIを 作成しなくてはなりません。時間と人手がかかるし、WEBページレイアウトを かえるたびにCGIにも変更を入れなければならないという問題がありました。 ASPはマイクロソフトがこの問題を解決する答えの一つとして作りました。 HTMLタグが書かれているファイルと同じファイルの中に、動的に動く 部分を書き込むことができます。CGIはWEBがCGIを外部のものとして 呼び出すようになっているわけです。一つになったほうが管理がしやすいですよね。またWEBサービスと同一のメモリ空間で高速に動作することができます。 ただし、ASPはIE上でしか動きません!OSがWin系以外だったり、ブラウザがIE以外だと動かないのです。 この点でまだまだCGIのほうがいまなお中心的ですし、プラットフォームを選ばないASPに似た形式の手段も今後どんどんメジャーになると思います。 動的WEB開発をこれからはじめたい方には環境をととのえやすいので、ASPでよいとは思いますが。 個人情報を守れるか、とのことですが、最近ASPをうごかす物の一つ、IISに問題が見つかったりしています。完全・・・というわけには行かないでしょうが、 インターネット上に公開する前にイントラネットでASPを試し、いろいろ細かい理解ができるようになってから公開されては如何でしょうか。

tariran
質問者

お礼

お礼遅くなってすみません。 参考にさせていただきます。 有難うございました、

関連するQ&A