Top > IIS

Microsoft製Webサーバ・IISについて。

関連ページ:ASP

リンク集 Edit

MSDNのIIS関連のページ:
http://technet2.microsoft.com/WindowsServer/ja/library/73ef9106-0f9a-40c4-8760-05ce5e55d9041041.mspx?mfr=true

http://www.atmarkit.co.jp/fwin2k/operation/indexpage/index.html

IIS安全対策ガイド。

Windows TIPS -- Knowledge:Professional版に付属するIISの制限(WindowsXPのIIS)
http://www.atmarkit.co.jp/fwin2k/win2ktips/207rest_iis_pro/rest_iis_pro.html

global.asaについて Edit

Global.asa ファイルのデバッグ
Global.asa のデバッグは、以下の点で、サーバーのActive Server Page ファイル (.asp) のデバッグとは異なります。 

クライアント ブラウザで Global.asa ファイルを指定して要求することはできません。このファイルのスクリプトは、ASP ベースのアプリケーションに属するその他のファイルを要求したときに、サーバーにより自動的に実行されます。したがって、ブラウザ コマンドを使ってデバッガを起動することはできません。

Global.asa ファイル内のプロシージャは、イベントドリブンであり、サーバーの .asp ファイルのプロシージャとは異なります。

Global.asa ファイル内のプロシージャは、通常はアプリケーションごとに 1 回、またはセッションごとに 1 回しか実行されません。実行されるタイミングは次のとおりです。 

Application_OnStart スクリプトは、ユーザーのだれかが ASP ベースのアプリケーションに属するどれかのページに初めてアクセスしたときに実行されます。

Application_OnEnd スクリプトは、アプリケーションがシャットダウンされるときにだけ実行されます。

Session_OnStart スクリプトは、各ユーザー セッションに 1 回ずつ実行されます。 

Session_OnEnd スクリプトは、ユーザー セッションがタイムアウトしたとき、およびスクリプトが明示的に Session オブジェクトの Abandon メソッドを呼び出したときにだけ実行されます。 
Global.asa ファイル内にエラー (構文エラーまたは実行時エラー) があると、サーバーはエラーを含むプロシージャの実行を中断します。その ASP ベースのアプリケーションに対して Script Debugger が有効になっていれば、サーバーはデバッガを起動し、エラー メッセージを表示します。その ASP ベースのアプリケーションに対して Script Debugger が有効になっていない場合は、エラー メッセージはクライアント ブラウザに送信されます。いずれの場合も、エラーを含むプロシージャの実行は中断されます。Global.asa ファイル内のエラーを修正してアプリケーション内のページを再び要求すると、Global.asa ファイルが変更されて保存されれば ASP アプリケーションが再起動され、Global.asa 内のプロシージャが再実行されます。 

Global.asa から Script Debugger が呼び出されるタイミングを制御するには、デバッガを明示的に起動するステートメント (VBScript の場合は Stop、JScript の場合は debugger) を記述します。このステートメントは、スクリプトの先頭の、ステップ実行するどのステートメントよりも前に記述します。 

アプリケーションが起動されるか、またはユーザーが新しいセッションを開始すると、Global.asa ファイル内の対応するスクリプトが実行されます。Script Debugger は、Stop ステートメントまたは debugger ステートメントが実行されたときに起動されます。Script Debugger が起動されたら、通常どおりスクリプト内をステップ実行し、コマンド ウィンドウを使って式を評価したり値を設定したりできます。 

ただし、Global.asa ファイルの場合は、表示を最新の情報に更新することによって、実行を中断して最初から実行し直すことはできません。Application_OnStart イベント プロシージャを再実行する場合は、アプリケーションの実行を中断し、アプリケーション自体を実行し直す必要があります。Session_OnStart イベント プロシージャを再実行する場合は、ブラウザを再起動して、新しいセッションを開始することによって、Session_OnStart イベント プロシージャを再実行します。または、Session オブジェクトの Abandon メソッドを呼び出すスクリプトを含んだページを要求し、その後で新しいセッションを開始することもできます。 

http://www.microsoft.com/Japan/msdn/Scripting/Debugger/docs/sdbug_28.htm

参考:
ASP講座 14章 [ Global.asa ]
http://www.site-cooler.com/kwl/asp/14.htm

コマンドラインから IIS を再起動する Edit

iisreset /restart

他にも次のようなコマンドがある:

/restart サービス再起動
/start サービス開始
/stop サービス停止
/reboot コンピュータ再起動
/status サービス状態表示

http://itpro.nikkeibp.co.jp/article/Windows/20051007/222454/?ST=win

アプリケーション保護とは Edit

以下は IIS 5.0 の場合。6.0 では大きく変わっている。

IISの本体(プロセス)は inetinfo.exe である。

低(IISプロセス)WebアプリをIIS本体が同じプロセスで実行
中(プール)IISとは別の1つのプロセスDLLHost.exeで実行(他のWebアプリと共通)
高(分離プロセス)そのWebアプリ専用の単独のプロセスで実行

一番シンプルかつパフォーマンスが良いのは「低」である。
しかしこれでは、行儀の悪いWebアプリが1つあるだけでIIS全体が不安定になり、他のWebアプリも影響を受けてしまい、好ましくない。
そこで「中」と「高」が導入された。
分離プロセスにするとそのWebアプリは別のメモリ空間で実行されるので、他のWebアプリの挙動がおかしくても影響は及ばない。
しかしプロセス間で通信する必要があるときはパフォーマンスが落ちる。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpiis/iishelp/iis/htm/core/iifeats.asp
http://www.microsoft.com/japan/msdn/columns/server/server112299.aspx

asp.dll Edit

ASP を実行しているスクリプトエンジンは asp.dll らしい。
これは COM コンポーネントとなっている。

w3wp.exe が asp.dll を使用し、ASP を実行している。



URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes