HTTP
.NET Framework は、HttpWebRequest クラスと HttpWebResponse クラスを使用して、すべてのインターネット トラフィックの大部分を構成する HTTP プロトコルに対して包括的なサポートを提供します。 WebRequest と WebResponse から派生したこれらのクラスは、静的メソッド WebRequest.Create が "http" または "https" で始まる URI に遭遇するたびに既定で返されます。 ほとんどの場合、WebRequest クラスと WebResponse クラスは、要求を行うために必要なすべてを提供しますが、プロパティとして公開されている HTTP 固有の機能にアクセスする必要がある場合は、これらのクラスを HttpWebRequest または HttpWebResponse に型キャストすることができますです。
HttpWebRequest と HttpWebResponse は、標準の HTTP 要求-応答のトランザクションをカプセル化し、一般的な HTTP ヘッダーへのアクセスを提供します。 これらのクラスは、パイプライン処理、チャック内データの送受信、認証、事前認証、暗号化、プロキシのサポート、サーバー証明書の検証、接続の管理を含むほとんどの HTTP 1.1 の機能もサポートします。 カスタム ヘッダー、およびプロパティを介して提供されていないヘッダーを格納し、Headers プロパティを介してアクセスすることができます。
HttpWebRequest は、WebRequest によって使用される既定のクラスであり、WebRequest.Create メソッドに URI を渡す前に登録する必要はありません。
AllowAutoRedirect プロパティを AllowAutoRedirect (既定) に設定することで自動的に HTTP リダイレクトに従うアプリケーションを作成することができます。 アプリケーションが、要求をリダイレクトし、ResponseUri の ResponseUri プロパティに要求に応答した実際の Web リソースが含まれます。 AllowAutoRedirect を false に設定した場合、アプリケーションは、HTTP プロトコル エラーとしてリダイレクトを処理できる必要があります。
アプリケーションでは、Status を WebExceptionStatus に設定し、WebException をキャッチすることによって HTTP プロトコル エラーを受信します。 Response プロパティは、サーバーによって送信された Response を含み、実際の HTTP エラーがに発生したことを示します。