Bearer タイプの Authorization リクエスト ヘッダーを持つすべてのリクエストに対して、ステータス コードをまったく返さない Web アプリケーションがあります。
IIS の新しいサイトと index.html ファイルだけで小さな概念実証を行いました。
私はこのサイトに 4 つのリクエストを行いました: 4 つのリクエスト
- _t=A は Authorization ヘッダーのないリクエストです。
- _t=B は Authorization ヘッダーが Bearer に設定されたリクエストです
- _t=C は、Authorization ヘッダーが Basic に設定されたリクエストです。
- _t=D は、Authorization ヘッダーが Basicc に設定された要求です。
4 つの要求すべてが同じ応答を送信しましたが、IIS に認識されていない承認スキームを持つ要求にステータス コードが送信されていないように見えます。
WS3SVC ログ ファイルでは、すべてのリクエストのステータスが 200 になっています。
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2016-08-19 13:37:41 ::1 GET /index.html _t=A 5443 - ::1 HTTP/2.0 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 4
2016-08-19 13:37:53 ::1 GET /index.html _t=B 5443 - ::1 HTTP/1.1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 1
2016-08-19 13:38:05 ::1 GET /index.html _t=C 5443 - ::1 HTTP/2.0 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 3
2016-08-19 13:38:14 ::1 GET /index.html _t=D 5443 - ::1 HTTP/1.1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:47.0)+Gecko/20100101+Firefox/47.0 https://localhost:5443/index.html 200 0 0 3
これを別のマシン (Windows 10 と IIS 10.0 も) でもテストしましたが、同じ動作をします。
ステータス コードを送信しないことで Web サイトが壊れることはありませんが、この問題を解決する方法が必要だと思います。