.NET でのネットワーク プログラミング
.NET は、迅速かつ簡単にアプリに統合できる、階層化された拡張可能で管理されたインターネット サービスの実装を提供します。 ネットワーク アプリは、プラグ可能なプロトコルを基に構築して、さまざまなインターネット プロトコルを自動的に利用したり、クロスプラットフォーム ソケット インターフェイスのマネージド実装を使用してソケット レベルでネットワークを操作したりできます。
インターネット アプリ
インターネット アプリは、情報を要求するクライアント アプリと、クライアントからの情報要求に応答するサーバー アプリの 2 種類に大きく分類できます。 従来のインターネット クライアント サーバー アプリは World Wide Web であり、世界中の Web サーバーに保存されているドキュメントやその他のデータにアクセスするためにブラウザーを使用します。
アプリは、これらのロールの 1 つに限定されるわけではありません。たとえば、使い慣れた中間層アプリ サーバーは、別のサーバーからデータを要求することでクライアントからの要求に応答します。その場合、サーバーとクライアントの両方として機能します。
クライアント アプリは、要求されたインターネット リソースと、要求と応答に使用する通信プロトコルを識別することによって要求します。 必要に応じて、クライアントは、プロキシの場所や認証情報 (ユーザー名、パスワードなど) など、要求を完了するために必要な追加データも提供します。 要求が形成されると、要求をサーバーに送信できます。
リソースの識別
.NET では、URI (Uniform Resource Identifier) を使用して、要求されたインターネット リソースと通信プロトコルを識別します。 URI は、要求と応答の通信プロトコルを識別するスキーム識別子である、少なくとも 3 つのフラグメント (場合によっては 4 つのフラグメント) で構成されます。サーバー識別子。ドメイン ネーム システム (DNS) ホスト名またはインターネット上のサーバーを一意に識別する TCP アドレスで構成されます。パス識別子。サーバー上で要求された情報を検索します。およびオプションのクエリ文字列。クライアントからサーバーに情報を渡します。
System.Uri 型は、URI (Uniform Resource Identifier) の表現として使用され、URI の部分に簡単にアクセスできます。 Uri
インスタンスを作成するには、文字列を渡します。
const string uriString =
"https://learn.microsoft.com/en-us/dotnet/path?key=value#bookmark";
Uri canonicalUri = new(uriString);
Console.WriteLine(canonicalUri.Host);
Console.WriteLine(canonicalUri.PathAndQuery);
Console.WriteLine(canonicalUri.Fragment);
// Sample output:
// learn.microsoft.com
// /en-us/dotnet/path?key=value
// #bookmark
Uri
クラスは、RFC 3986 に従って検証と正規化を自動的に実行します。 これらの検証規則と正規化規則は、URI が整形式であり、URI が正規形式であることを確認するために使用されます。
関連項目
- ネットワーク の ランタイム構成オプション
- .NET での HTTP サポート
- .NET でのソケット
- .NET での TCP の
- チュートリアル: C# を使用して .NET コンソール アプリで HTTP 要求を行う
- .NET でのネットワーク テレメトリ
- .NET ネットワークの機能強化
.NET