あなたの質問は興味深いと思いますが、問題全体が私にはもっと誤解されているようです。少なくとも問題の理解を説明しようと思います。
サイレント(透明)のリダイレクトはの一部であり、XMLHttpRequest
仕様書(参照ここでは特に言葉「...透過的にリダイレクトをたどるの...」)。標準では、ユーザーエージェント(Webブラウザー)が特定の種類の自動リダイレクトを防止または通知できることのみを述べていますが、これはの一部ではありませんXMLHttpRequest
。これは、HTTPクライアント構成(OS構成)またはWebブラウザー構成の一部です。したがってjQuery.ajax
、リダイレクトを防止できるオプションはありません。
HTTPリダイレクションがHTTPプロトコルの一部であり、の一部ではないことがわかりますXMLHttpRequest
。したがって、それは抽象化の別のレベルまたはネットワークスタック上にあります。たとえば、からのデータは、XMLHttpRequest
HTTPプロキシまたはローカルブラウザキャッシュから取得でき、HTTPプロトコルの一部です。ほとんどの場合、クライアントではなくデータを提供するサーバーがキャッシュに影響を与える可能性があります。
質問の要件と、通信中のWebサーバーのIPアドレスの変更やIPルートの変更を防ぐための要件を比較できます。いくつかのシナリオではすべてのものが面白い場合がありますが、通信スタックの別のレベルの一部があり、jQuery.ajax
またはで管理できませんXMLHttpRequest
。
XMLHttpRequest
クライアント構成は、リダイレクトを防ぐためのオプションを持つことができることを標準と言います。私がよく知っている "Microsoft world"の場合、値でオプションを設定するために使用できるWinHttpSetOption関数を見ることができます。別の方法は、値でのオプションの使用です。Windowsで使用できるもう1つの機能は、WinHttpSetStatusCallback関数です。これは、コールバック関数がのようないくつかの通知を受け取ったことを設定できます。WINHTTP_OPTION_DISABLE_FEATURE
WINHTTP_DISABLE_REDIRECTS
WINHTTP_OPTION_REDIRECT_POLICY
WINHTTP_OPTION_REDIRECT_POLICY_NEVER
WINHTTP_CALLBACK_FLAG_REDIRECT
したがって、一般的に要件を実装することは可能ですが、ソリューションはおそらくオペレーティングシステムやWebブラウザから独立しておらず、jQuery.ajax
またはのレベルではありませんXMLHttpRequest
。