現在オフラインです。再接続するためにインターネットの接続を待っています

[INFO] HTTP GET と HTTP POST はデフォルトで無効になる

概要
この資料では、Web サーバーでの HTTP GET メソッドと HTTP POST メソッドに影響を与える、.NET Framework 1.1 の変更点について説明します。また、この新しい機能の回避策についても説明します。
詳細
.NET で接続される Web サービスでは、HTTP GET、HTTP POST、および SOAP の各プロトコルをサポートします。.NET Framework 1.0 では、デフォルトでこれら 3 つのプロトコルがすべて有効になっています。.NET Framework 1.1 では、デフォルトで HTTP GET と HTTP POST の両方が無効になっています。この変更は、セキュリティ上の理由によるものです。

Web サービスを .NET Framework 1.1 にアップグレードすると、HTTP GET や HTTP POST を使用して Web サービスを起動するアプリケーションが失敗し、次のエラー メッセージが表示されます。
System.Net.WebException
これは、要求の形式が認識されないことを示しています。

テスト フォームの HTML 版で HTTP POST を使用すると、上記の理由から .NET Framework 1.1 では動作しないことに注意する必要があります。後述するように、動作しないのは localhost 上でない場合です。

.NET Framework 1.1 では、HttpPostLocalhost という名前の新しいプロトコルが定義され、デフォルトで有効になっています。このプロトコルでは、HTTP POST 要求を使用する Web サービスを同じコンピュータのアプリケーションから起動することが許可されます。これは、POST URL が http://hostname ではなく http://localhost を使用している場合に許可されます。これにより、Web サービスの開発者は、テスト フォームの HTML 版を使用して、Web サービスが存在する同じコンピュータから Web サービスを起動することができます。

リモート コンピュータから Web サービスにアクセスしようとすると、[起動] ボタンが表示されません。また、次のエラー メッセージが表示されます。

テスト フォームは、ローカル コンピュータからの要求に対してのみ使用できます。

回避策

HTTP GET と HTTP POST は、Web サービスが存在する仮想ルートの Web.config を編集することで有効にできます。次の構成により、HTTP GET と HTTP POST の両方が有効になります。
<configuration>    <system.web>    <webServices>        <protocols>            <add name="HttpGet"/>            <add name="HttpPost"/>        </protocols>    </webServices>    </system.web></configuration>
別の方法として、Machine.config の <protocols> セクションを編集することで、コンピュータ上のすべての Web サービスに対して、これらのプロトコルを有効にできます。次の例では、HTTP GET、HTTP POST、および SOAP と localhost からの HTTP POST が有効になります。
<protocols>	<add name="HttpSoap"/>	<add name="HttpPost"/>	<add name="HttpGet"/> 	<add name="HttpPostLocalhost"/>      <!-- Documentation enables the documentation/test pages -->	<add name="Documentation"/></protocols>
関連情報
Web サービスの構成の詳細については、.NET Framework 1.1 ドキュメントの「<protocols> 要素」http://www.microsoft.com/japan/msdn/library/ja/cpgenref/html/gngrfprotocols.asp を参照してください。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 819267 (最終更新日 2003-04-24) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
HTTP POST GET Unrecognized
プロパティ

文書番号:819267 - 最終更新日: 06/16/2004 05:48:00 - リビジョン: 1.1

  • Microsoft .NET Framework 1.1
  • kberrmsg kbinfo kbhttp kbwebserver kbwebclasses kbhtml KB819267
フィードバック