承認規則 - HTTP 動詞の設定

IIS 7 以降導入された Authorization Rules (承認規則) では、ディレクトリやファイル毎に承認規則を設定できます。

この資料では特定の HTML ページに対して、GET や POST などの HTTP 動詞を許可あるいは拒否の設定を行い、 正しく動作するか確認しましょう。

Authorization Rules の設定を開きます。

そこで、test1 ユーザーからの GET による HTTP 要求のみを許可します。

IIS 承認の設定と動作確認

次に Wfetch を利用して、test1 ユーザーからの GET 要求を行います。

Wfetch は Web サーバーの動作確認やトラブルシューティングのために、MS のエンジニアの中でもよく使われるツールです。 MS のダウンロードセンターからダウンロードできます。 使い方もシンプルで使いやすいです。

画面の指示通り、VERB (HTTP 動詞)、Host (サーバー名、ホスト名)、ポート等を選び、 GO ボタンを押せば指定したホストに対して HTTP 要求を送信でき、その応答も生のまま表示されます。

Web 系のトラブルシューティングにおいて TCP レベルでは特に問題がないとわかっている場合は、ネットワークのパケットをキャプチャして解析するより、 WFetch 等のツールで特定の HTTP 要求を送信して、その応答を確認すると良いことが良くあります。 また、今回のように指定した Verb の HTTP 要求を送信したい場合などは、Wfetch が便利です。

さて、その Wfetch をつかって上で設定を行った HTML ページに対して GET 要求を送信します。

IIS 承認の設定と動作確認

その結果、IIS は 200 OK を返すことがわかります。HTTP 応答の 200 OK は、HTTP 要求に対して、 コンテンツを正しく返したことを示しています。

次に Verb を HEAD にして、HTTP 要求を送信します。

IIS 承認の設定と動作確認

HEAD 要求は、POST などと違ってあまり馴染みがないかもしれませんが、 HEAD 要求を行うと Web サーバーは、HTTP ボディを返さずに HTTP ヘッダのみを返信します。 このため、今回のような動作確認に便利です。

HEAD 要求に対しては、上のように 401 Unauthorized を返しています。 つまり、正しく要求を拒否していることがわかります。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説