こんにちわ。
ASP超超超~~~~初心者の者です。

HPで良く見られると思いますが、
フォームをメールで送信をASPを使って記述しています。
同じアクションをCGIで書かれているページもありますよね?
その他、カウンターやBBSなどもASPでありますよね?

ASPとCGIの違いは何なんでしょうか?
CGIよりASPの方が利点があるのでしょうか?
また、セキュリティ―面ですが、フォームなどCGIやASPを使うことによって
個人情報を守る事ができるのですか?

すみません。とても初歩的な質問で・・・・
お時間があるときで結構ですので、コメントいただければ嬉しいです。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

ASPとCGIの違いを少ない言葉で表すのは難しいですが、無理やり言えば、ASPはWindowsサーバーのHPで使える、動的ページを作成するもので、CGIはUNIXのサーバー(Windowsでもできますが)で動的ページを作成するための仕組みです。


特徴をいえば、ASPは、消費メモリがCGIより少なく、簡単な処理であれば、CGIより処理速度は速いです。CGIは、一般にスピードは遅いですが、プログラムにバグがあったときにも、そのページが使えなくなるだけで(バグの程度にもよりますが)ほかのページは、正常に動きます。ASPは、バグがあってとまると、Webサーバーソフト自信がとまる可能性があります。(ほかのページも使えない)

セキュリティ面ですが、この問題は、最先端の分野ですので、ASP、CGIを使ったから守れるというものではありません。ASP、CGIを使うことで守ることができるのは、それぞれのプログラムコードです。
個人情報の一例としては、フォームにユーザーIDやパスワードを入力させて認証すれば、そのユーザーIDパスワードは、そのままネットワークを流れていきますので、その時点でセキュリティー確保は難しいことになります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/02/06 16:10

こんにちわ!俺も初心者で詳しくはないんですがこんな感じでどうでしょう?



・ ASPとCGIの違い

  まあよく言われているのがASPの場合
  ・Webサービスと同一メモリ空間で高速動作する
  ・COM(Component Object Model)コンポーネントによる機能拡張が
   容易に行えるという、大きな大きなアドバンテージを持っています。
  ・データベースのとの連携もかなり容易になります。
  あとはASPの場合、セッション機能っていうのがあって複数ページにまた
  がったクライアントの情報保持が容易にできます。
  俺がわかるのこんなとこぐらいです。

 最後にsnowairさんの回答でASPがIEでないと見れないみたいなこと
 書いてありましたがそんなことありませんよ。
 そもそもASPっていうのはクライアント(ようはブラウザ)の環境に依存されな 
 い為に開発されたものです。
 その為いままでクライアント側で処理してた内容をサーバサイドで処理するため
 WWWサーバーはIIS及びPWSでしかASPは対応してません。

 



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

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

お礼日時:2001/02/06 16:08

揚げ足取りみたいで申し訳ないのですが。



>ただし、ASPはIE上でしか動きません!OSがWin系以外だったり、ブラウザがIE以外だと動かないのです。

ASPはクライアントのブラウザには依存しません。
ASPを解析してページを吐き出してくれるIIS(Internet Infomation Service)がWindows上で動くものなので「サーバーがWindowsNTマシンであること」が必要になるだけです。

セキュリティ管理はCGIだから守れる、ASPだから守れない、というより、それらを用いているサーバーがどれだけ堅牢かで決まります。マシンとして脆弱なサーバーであっても、上手な運営方法によって安全なサーバーになることもできます。セキュリティ管理に必要なのは正しいネットワーク、セキュリティ知識、それから独創的な発想力だと思います。上級者の課題ですね。

ASPを試してみたければ、セキュリティに関係のないところから始められるのがいいと思います。慣れると楽しいですよ。

と、書いているうちにmsystemさんから補足が入っていました(笑)
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/02/06 16:09

ひとついい忘れていました。



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

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を試し、いろいろ細かい理解ができるようになってから公開されては如何でしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/02/06 16:11

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qフォーム(CGI)等を使わない商用のメール自動返信サービス

メールフォーム(CGI)等を使わずに、あるメールアドレスに届いたメールに対して自動返信メールを送信できるサービスを探しています。

詳細な要件は以下の通りです。
・メールフォーム(CGI)は使わない
・OSのメール転送スクリプトは使わない(.forward、aliases等)
・メーラーの自動返信機能は使わない
・返信したメールに広告文が入らない
・商用の有償サービスでもOK
・自動返信メールに(「このメールは自動返信です」みたいな)メッセージと元のメールの内容が記載できる

イメージ的には下記のサービスが合っていますが、それ以外で同様のサービスがありましたら教えてください。
http://123mail.jp/SP/indexpc.html

Aベストアンサー

条件がきびしいですが、なぜここまで制限が多い必要が
あるのか不明です。普通でしたら.forwardがもっとも
有効な処理だと思います。

結局、POPで受信してそこから相手のメアドを抜いた上で、
返信するプログラム・・・という感じでしょうか?
とりあえずは「あるメールアドレスに届いたメール」に
アクセスできる環境が必要になります。
そうでなければあるメールアドレスから転送が必要に
なるので.forwardは必要になりますよね?

.forwardをつかわないとなると、メールが来たという
判断ができないため、受信をトリガーにすることが
できませんがよろしいのですね?
その場合は定期処理でPOP受信を走らせる必要があるので
オーバーヘッドが大きいと思いますが、本当にそれで
いいのですね?

そうであれば、shスクリプトをcronで走らせるような
形のプログラムで実現できそうです。
商用の有償サービス探すよりはスキルしだいですが
ご自身でお書きになった方が汎用的につかえるとおもい
ますが、いかがでしょうか?

QASPとASP.NETとASP.NET2.0の違い

Web開発初心者です。

帳票をPDF表示するWebアプリケーションを開発することになり、
言語はASPを使用することになりました。

そこで
ASP
ASP.NET
ASP.NET2.0
の違いをご存知の方がいらっしゃいましたら教えていただけますでしょうか。
それぞれIIS以外に必要な実行環境、ツール等も教えていただけると助かります。

不明瞭な箇所がありましたら説明させていただきます。
すいませんがよろしくお願いします。

Aベストアンサー

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用の制限等はありません。

(http://www.microsoft.com/japan/msdn/vstudio/express/faq/default.aspx)

「Express Edition を商用目的で使用することはできますか。」

また、「ASP.NET1.1用」の無料の開発ツールとして、3rdパーティ製ですが、
「Web Matrix 」と言うのがあります。

「ASP.NET Web Matrix Project 日本語版」
(http://www.microsoft.com/japan/msdn/asp.net/webmatrix/)

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用...続きを読む

Qi'm looking forward to seeing you.のforwardは副詞なので語順

i'm looking forward to seeing you.のforwardは副詞なので語順は自由なので
i'm looking to seeing you forward.という風にはできますよね?

Aベストアンサー

英語については素人ですが、二年間の米国留学、かなり多量読みましたので、ひと言。
>looking forward to seeing you
は完全に「慣用句」なので、ネイティブは「分かるけど、変な英語だな」と思うでしょう。

QASPとCGIの選択法?

基本的な質問です。初心者なので簡単に教えてください。ASPでもCGIと同じようなこと〔BBS、カウンター、アンケート等〕が出来るみたいですが、ASPを使ったほうがよい場合とCGIのほうがよい場合と、それぞれの長所短所を教えてください。また1ホームページの中でこれら両者を作動させても問題ないのでしょうか?よろしくお願いいたします。

Aベストアンサー

windowsサーバーならASP
UNIX、Linux系サーバーなら Perl等

CGIは言語名ではありません
動作する仕組みの概念です

ASPでは表現できるけどPerlでは表現できない
という差は有りません
どちらの言語でもお望みのサイトは構築できます。
掲示板であろうが、カウンターであろうが、アンケートであろうが、会員登録制度の通販サイトであろうがプログラマ次第で自由自在です


>また1ホームページの中でこれら両者を作動させても問題ないのでしょうか?

両立させても問題ないかどうかという事では無く
メンテナンス性が悪くなるのでやりません
ASPとPerlの両方を使ってサイト構築する事は不可能ではないですが、作り手としてはかなり面倒な事です。
又、windowsサーバーと UNIX/Linuxサーバーの両方をwebサーバーとして構築しなくてはならずかなり煩雑になるからです

Qサーブレットforward時の実行メソッドについて

初歩的な質問で失礼します。

サーブレットAに doGet, doPost, serviceメソッドを実装しています。
サーブレットBのdoPostメソッド内にて
サーブレットAにforwardを実行する場合に、
呼出されるのはサーブレットAのどのメソッドですか?

JSPへのforwardはできたのですが、
サーブレットへのforwardができず悩んでいます。

サーブレットのAPIを読んでもいまいちわかりません。
何かメソッドに関する制約があるのでしょうか?
上の質問は全くマト外れでしょうか?

追加ですが・・・
サーブレットからforwardされたサーブレットで、
そこからさらにJSPへforwardすることはできますか?

Apache2.0.43+tomcat4.1.12+Java1.4.0_01です。

Aベストアンサー

> サーブレットBのdoPostメソッド内にて
> サーブレットAにforwardを実行する場合に、
> 呼出されるのはサーブレットAのどのメソッドですか?

doPost() のはず。実際には、forward するときの HttpServletRequest#getMethod() で取得できる文字列に従うはず。

> JSPへのforwardはできたのですが、
> サーブレットへのforwardができず悩んでいます。

forward に関して、servlet と JSP の違いはないはず(というか、JSP は自動コンパイルされる servlet だし)。
getRequestDispatcher() してるパスが間違っているのだと思います。

> サーブレットからforwardされたサーブレットで、
> そこからさらにJSPへforwardすることはできますか?

コンテナの実装次第だけど、forward() は、サブルーチン呼び出しと変わらないはずなので、
回数に制限はないはず。

QASPでフォームの作成について

もしかしたら、htmlの方で質問するべきでしょうか?

ASPにてアンケート画面をつくりたいのですが、
項目の1つに選択項目が7,8個ありまして、
それを1位から再下位まで順番をつけてもらいたい項目があるのですが、
どんな形で実現すればよろしいでしょうか?
アドバイスお願い致します。

Aベストアンサー

例えばその選択項目をプルダウンメニューにします。
一つ目を選択されたら、その項目を除いたプルダウンを2項目目にします。その繰り返しです。

Q英語look forward to ---ing

いつもお世話になっております。

英語の質問ですが、
look forward to ---ing の構文が文法的に今一つしっくりせず困っております。

I'm looking forward to seeing you.

上記文章は何文型なのでしょうか。

toは前置詞。forwardは副詞? 1文型でしょうか?

Aベストアンサー

 お考えの通りforwardが副詞でtoが前置詞、前置詞ですから名詞、動名詞が続くことになります。
動詞が他の名詞や副詞、前置詞などと結びついて「本来の意味から発展した意味」を示し動詞と同様に働く時にまとめて句動詞として扱われますので、S+V+Oの第3文型として理解しておいていいのだと思います。

Q超お馬鹿。 ASPって?

OS: クライアント Windows2000, サーバ NT4, IIS4
Editor: FrontPage2000

ASP未体験者につき、皆さんに失礼な質問をしてしまいますがお許しください。

Webのクライアント側で何か動作をさせるときにはVBScriptやJAVAなんかでスクリプトを記述することは以前やったことがあります。
ASPは、ASPの文法で書いたスクリプトが記述してあるHTML(拡張子はasp)をWebサーバ(IIS?)に発行するだけで動作するようになるのでしょうか。
それとも、サーバ側にログインして何か作業が必要なのでしょうか。
まったく理解していませんが、見捨てずに教えてください。
よろしくお願いします。

Aベストアンサー

>メリットとしては、サーバーがプログラムを処理して結果のみを
>クライアントに返すので、ネットワークの負荷が小さくなります。

ネットワークの負荷は関係ありません。
サーバ上で処理を行うことで、動的にページ内容を作成できることがメリットです。
特に、サーバ上に配置した、VB等で作成したActiveX DLL等を呼び出し複雑な処理を行わせることで、スクリプト言語のデメリットである処理速度の遅さもカバーすることが出来ます。

aspファイルは、基本的にサーバに置くだけで実行できます。
ただし、IISの設定でスクリプト等を実行可能なように権限を設定しておく必要があります。

Qlook forward to ~ing について

英語の文法についてなんですが、 この look forward to ~ing の
forwardは副詞ですか?

あとこの to が前置詞だから そのあとに動詞が来る場合には ingにしなければならないのですが、 なぜ toなのですか? 別に look forward in ~ing や look foward at ing にしてもよさそうなのですが、文法的には間違ってるのですか?

あと to 不定詞として使って、look forward to + 動詞の原型として使ってよさそうなのですが、だめなのですか?

分かる方がいたら助けてください><

Aベストアンサー

こんばんは。

>>>forwardは副詞ですか?

そのとおりです。
手元の英英辞典でもそうなっていますし、
こちらでも、そう書かれています。
http://eow.alc.co.jp/forward/UTF-8/?ref=sa


>>>なぜ toなのですか? 別に look forward in ~ing や look foward at ing にしてもよさそうなのですが、文法的には間違ってるのですか?
>>>あと to 不定詞として使って、look forward to + 動詞の原型として使ってよさそうなのですが、だめなのですか?

よくあるタイプの質問ですね。
文法というものは、すでに世の中にある言葉を体系化しただけのものにすぎません。
look forward at という言い方や look forward to 原形 という言い方はありません。
ですから、文法的に間違っている以前に、言葉として間違っているのです。

日本語でも、たとえば、
「僕は気がついた」
という文があるとき、文法的には主語は「気が」です。
しかし、
100%近くの日本人は、「気がついた」で一つの動詞と見なし、
主語は「僕は」であると考えているはずです。
ですから、
「僕は」を「僕の」に替えて、
「僕の気がついた」とするのは文法的には誤りではありませんが、言葉として間違っています。



なお、
look を動詞としてではなく名詞として扱い、
“look forward”でひとくくりの名詞のようにして、
“A Look Forward At ~”
という言い方は、たまに使われるようです。
未来に関して「~の展望」といった感じの意味です。


以上、ご参考になりましたら。

こんばんは。

>>>forwardは副詞ですか?

そのとおりです。
手元の英英辞典でもそうなっていますし、
こちらでも、そう書かれています。
http://eow.alc.co.jp/forward/UTF-8/?ref=sa


>>>なぜ toなのですか? 別に look forward in ~ing や look foward at ing にしてもよさそうなのですが、文法的には間違ってるのですか?
>>>あと to 不定詞として使って、look forward to + 動詞の原型として使ってよさそうなのですが、だめなのですか?

よくあるタイプの質問ですね。
文法とい...続きを読む

QASP.NET MVCのAjaxフォーム検証

いつも大変にお世話になります。
今回ご相談させていただきたいのは、AJAXフォーム送信と、検証の仕方ついてです。

画面遷移なしでフォーム内容を送信し、データベースを更新したく思っています。
通常のフォーム検証と送信はできていますが、Ajaxになるとさっぱりわかりません。

欲しい挙動は、
1.Ajaxでフォーム内容を送信(その前に内容の検証
2.サーバサイドでフォーム内容を受け、DBを更新して、結果をjsonで返却
3.クライアント側で結果を受け、画面の一部を書き換え、

この「3」なのですが、書き換える内容がいくつかあるので、ASP.NET AJAXのような"UpdatePanel"は使えません。
あくまでjsonを読む必要がある感じです。

質問なのですが、ここにあるような、「フォームを送信」して、「結果をjsonでもらう」処理は可能なのでしょうか?
結果の取得は非同期?になるような感じですが、Ajaxは対応できるでしょうか?

コード例があれば最高ですが、どんな些細なご意見でも構いませんので、拝聴させていただけないでしょうか?
今すぐにコードを完成させなければいけない訳ではないので、若干の余裕がありますが、基本設計や画面設計に関わる部分なので、少し急いでおります。

なにとぞ皆様のお知恵をお貸しください。

いつも大変にお世話になります。
今回ご相談させていただきたいのは、AJAXフォーム送信と、検証の仕方ついてです。

画面遷移なしでフォーム内容を送信し、データベースを更新したく思っています。
通常のフォーム検証と送信はできていますが、Ajaxになるとさっぱりわかりません。

欲しい挙動は、
1.Ajaxでフォーム内容を送信(その前に内容の検証
2.サーバサイドでフォーム内容を受け、DBを更新して、結果をjsonで返却
3.クライアント側で結果を受け、画面の一部を書き換え、

この「3」なのですが、書き...続きを読む

Aベストアンサー

おっしゃていることはよくわかるのですが、質問内容があまりに一般論すぎて回答のしようがない、ということですね。
こういう設計は実証したのちに考えるべきもので、最初から「最高の方法は何か」という結論は出しにくいですね。

これまでずっと、サーバサイドプログラムしかやったことのないPGには最初から理解できないので、そこは腹をくくってください。
しかもASP.NETとVB.NETなどという組み合わせはそれこそ特殊なので、ちょっと難しいかもしれません。

以下のジャンルで順に実装をテストしてみることをお勧めします。

jQueryな実装として
・jQuery.validationの実装
・jQuery.ajaxでの実装
・jQuery.formプラグインでの実装

MVC的な方法論として、
・Client Validation
・Remote Validation

Ajax/Htmlヘルパーな実装として
・Html.BeginForm
・Ajax.BeginForm
・OnSuccessコールバック

あともし英語が読めれば、この記事も読んでみてください。
http://stackoverflow.com/questions/9489195/difference-between-jsonresult-ajax-beginform

自分が思うには、jQueryでいこうが、Ajaxヘルパーでいこうが、どちらでも問題はないと思います。
あとは。ValidationとかConfirmationとか、Validation失敗後の戻しとか、全体を含んだForm処理のなられを確立することじゃないでしょうか?

自分なら、全部Ajaxヘルパーを使いますが。jQueryのフォーム処理は検証が絡むと煩雑なように思います。少なくともASP.NET MVCレベルの検証を行うなら、という意味で。
(phpのようにオンスクリーン検証はjavascript環境のみで、サーバサイドはエラー画面だけ出してhistory.back()してもらうんならどうでもいいんですが)

おっしゃていることはよくわかるのですが、質問内容があまりに一般論すぎて回答のしようがない、ということですね。
こういう設計は実証したのちに考えるべきもので、最初から「最高の方法は何か」という結論は出しにくいですね。

これまでずっと、サーバサイドプログラムしかやったことのないPGには最初から理解できないので、そこは腹をくくってください。
しかもASP.NETとVB.NETなどという組み合わせはそれこそ特殊なので、ちょっと難しいかもしれません。

以下のジャンルで順に実装をテストしてみることを...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング