解決策は、DDDINGです。
ナレッジベースの記事KB294807にあるMicrosoftのメモ:
方法:サーバー側でInternetExplorer5.xおよび6.xの「わかりやすいHTTPエラーメッセージを表示する」機能をオフにします
...これらの「わかりやすい」エラーメッセージは、クライアントに送信される応答が指定されたしきい値以下の場合にのみ表示されます。たとえば、HTTP 500応答の正確なテキストを表示するには、コンテンツの長さが512バイトより長くなければなりません。
このパディングを実装します。これを行うには、VBScript文字列関数を使用して、同じ文字の文字列を返します。これは、InternetExplorer5.xがわかりやすいエラーメッセージを表示するために使用するErrorThresholdより1つ多くなります。たとえば、500-100.aspのタグの直前に次の行を追加します。
<% Response.Write String(513, "_") %>
大きくする
だから私は応答ページをまとめて:
<!doctype html>
<html>
<head><title>400 Bad Request</title></head>
<body><h1>400 Bad Request</h1>
The grob must be in the frobber.
<!--
512 bytes of padding to suppress Internet Explorer's "Friendly error messages"
From: HOW TO: Turn Off the Internet Explorer 5.x and 6.x "Show Friendly HTTP Error Messages" Feature on the Server Side
http://support.microsoft.com/kb/294807
Several frequently-seen status codes have "friendly" error messages
that Internet Explorer 5.x displays and that effectively mask the
actual text message that the server sends.
However, these \"friendly\" error messages are only displayed if the
response that is sent to the client is less than or equal to a
specified threshold.
For example, to see the exact text of an HTTP 500 response,
the content length must be greater than 512 bytes.
-->
</body>
</html>
問題が解決しました。
ボーナスリーディング
IEがわかりやすいエラーページを表示することにした理由は何ですか?
答えは、サーバーの応答が2つの基準を満たす必要があるということです。
- HTTPステータスコードは[400、403、404、405、406、408、409、410、500、501、505]である必要があります
- HTTP応答本文のバイト長は、しきい値よりも短くする必要があります
バイト長のしきい値は、レジストリのHKEY_LOCAL_MACHINEのサブキー\ SOFTWARE \ Microsoft \ Internet Explorer \ Main\ErrorThresholdsに保存されます。
- [403、405、410]: 256バイト
- [400、404、406、408、409、500、501、505]: 512バイト
- それ以外の場合:512バイト