.NET의 네트워크 프로그래밍
.NET은 쉽고 빠르게 앱에 통합할 수 있는 인터넷 서비스의 계층화되고 확장 가능하며 관리되는 구현을 제공합니다. 네트워크 앱은 플러그형 프로토콜을 기반으로 구축하여 다양한 인터넷 프로토콜을 자동으로 활용하거나 플랫폼 간 소켓 인터페이스의 관리형 구현을 사용하여 소켓 수준에서 네트워크로 작업할 수 있습니다.
인터넷 앱
인터넷 앱은 정보를 요청하는 클라이언트 앱과 클라이언트의 정보 요청에 응답하는 서버 앱의 두 가지 종류로 광범위하게 분류할 수 있습니다. 클래식 인터넷 클라이언트 서버 앱은 사용자가 브라우저를 사용하여 전 세계 웹 서버에 저장된 문서 및 기타 데이터에 액세스하는 World Wide Web입니다.
앱은 이러한 역할 중 하나로만 제한되지 않습니다. 예를 들어 익숙한 중간 계층 앱 서버는 다른 서버에서 데이터를 요청하여 클라이언트의 요청에 응답합니다. 이 경우 서버와 클라이언트 모두의 역할을 합니다.
클라이언트 앱은 요청 및 응답에 사용할 요청된 인터넷 리소스 및 통신 프로토콜을 식별하여 요청합니다. 필요한 경우 클라이언트는 프록시 위치 또는 인증 정보(사용자 이름, 암호 등)와 같은 요청을 완료하는 데 필요한 추가 데이터도 제공합니다. 요청이 형성되면 요청을 서버로 보낼 수 있습니다.
리소스 식별
.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