.NET Framework 네트워크 작업의 기본 사항

업데이트: 2007년 11월

Microsoft .NET Framework는 더 빠르고 쉽게 응용 프로그램에 통합할 수 있는 계층적이고 확장 가능하며 관리되는 인터넷 서비스 구현을 제공합니다. 이들 클래스를 사용하려면 관련 코드의 시작 부분에 하나 이상의 Imports 문을 넣어서 적절한 네임스페이스를 가져오거나 이름을 정규화해야 합니다. 자세한 내용은 Imports 문(.NET 네임스페이스 및 형식)을 참조하십시오.

인터넷 리소스 액세스

요청/응답 모델을 통해 인터넷 리소스에 액세스하려면 세 가지 정보가 필요합니다. 이 정보는 특정 .NET Framework 클래스에서 제공합니다.

  • Uri 클래스에는 최소 세 부분, 경우에 따라 네 부분(통신 프로토콜을 식별하는 체계 식별자, 서버 식별자, 경로 식별자 및 선택적인 쿼리 문자열)으로 구성된 인터넷 리소스의 URI가 포함됩니다.

  • WebRequest 클래스에는 리소스에 대한 요청이 들어 있습니다.

  • WebResponse 클래스는 들어오는 응답에 대한 컨테이너를 제공합니다.

데이터 업로드 및 다운로드

인터넷 리소스에 대한 간단한 요청을 해야 하는 응용 프로그램의 경우 WebClient 클래스에서 데이터를 업로드하거나 다운로드하기 위한 메서드를 제공합니다. WebClientWebRequest 클래스를 통해 인터넷 리소스에 대한 액세스를 제공하므로 등록된 모든 플러그형 프로토콜을 사용할 수 있습니다.

System.Net.Sockets 네임스페이스는 요청/응답 모델을 사용하지 않는 응용 프로그램 또는 네트워크를 수신해야 하는 응용 프로그램에 대해 TcpClient, TcpListenerUdpClient 클래스를 제공합니다. 이러한 클래스는 서로 다른 전송 프로토콜을 사용하는 연결 정보를 처리하고 네트워크 연결을 응용 프로그램에 스트림으로 노출합니다.

자세한 내용은 데이터 요청을 참조하십시오.

다음 표에서는 인터넷 리소스에 데이터를 요청하는 것과 관련된 일반적인 작업을 나열합니다.

작업

참조

인터넷 요청 만들기

인터넷 요청 만들기

네트워크에 데이터 보내기

네트워크에서 스트림 사용

인터넷 리소스에 대한 비동기 요청 만들기

비동기 요청

HTTP 관련 속성 액세스

HTTP

특정 요청을 연결 풀에 연결

연결 그룹화

프록시 인스턴스 구성

프록시를 통한 인터넷 액세스

인터넷 리소스에 대한 비동기 요청 만들기

비동기 요청

TCP를 사용하여 데이터 요청

TCP 서비스 사용

UDP를 사용하여 데이터 요청

UDP 서비스 사용

플러그형 프로토콜

추상 WebRequestWebResponse 클래스는 플러그형 프로토콜에 대한 기본 클래스를 제공합니다. WebRequestWebResponse에서 프로토콜 고유의 클래스를 파생시키면 응용 프로그램에서는 사용되는 프로토콜을 지정하지 않고도 인터넷 리소스에서 데이터를 요청하고 응답을 읽을 수 있습니다.

자세한 내용은 플러그형 프로토콜 프로그래밍을 참조하십시오.

다음 표에서는 플러그형 프로토콜과 관련된 일반적인 작업을 나열합니다.

작업

참조

WebRequest에서 파생

WebRequest에서 파생

WebResponse에서 파생

WebResponse에서 파생

프로토콜 관련 속성 액세스

방법: 프로토콜 관련 속성에 액세스할 수 있도록 WebRequest 형식 변환

네트워크 추적

네트워크 추적은 메서드 호출에 대한 정보와 관리되는 응용 프로그램에서 생성된 네트워크 트래픽 정보에 대한 액세스를 제공합니다. 이 기능은 개발 도중 응용 프로그램을 디버깅하거나 배포된 응용 프로그램을 분석할 때 유용합니다. 네트워크 추적에서 제공된 출력은 개발 단계 및 프로덕션 환경에서 여러 가지 사용 시나리오를 지원하도록 사용자 지정할 수 있습니다.

자세한 내용은 네트워크 추적을 참조하십시오.

다음 표에서는 네트워크 추적과 관련된 일반적인 작업을 나열합니다.

작업

참조

네트워크 추적 활성화

네트워크 추적 사용

추적 정보 읽기

네트워크 추적 해석

네트워크 추적 구성

방법: 네트워크 추적 구성

캐시 관리

캐시는 응용 프로그램에서 요청한 리소스의 임시 저장소를 제공합니다. 응용 프로그램에서 같은 리소스를 두 번 이상 요청하면 리소스를 캐시에서 반환할 수 있으므로 서버에 다시 요청하는 오버헤드를 피할 수 있습니다.

캐시 정책은 요청을 요청된 리소스의 캐시된 복사본으로 충족시킬 수 있는지 여부를 확인하는 데 사용되는 규칙을 정의합니다.

자세한 내용은 네트워크 응용 프로그램의 캐시 관리를 참조하십시오.

다음 표에서는 캐시 관리와 관련된 일반적인 작업을 나열합니다.

작업

참조

위치 기반 캐시 정책 설정

방법: 응용 프로그램에 대한 위치 기반 캐시 정책 설정

기본 정책인 시간 기반 캐시 정책 설정

방법: 응용 프로그램에 대한 기본 시간 기반 캐시 정책 설정

시간 기반 캐시 정책 사용자 지정

방법: 시간 기반 캐시 정책 사용자 지정

요청에 대한 캐시 정책 설정

방법: 요청에 대한 캐시 정책 설정

보안

System.Net 클래스는 일반적으로 사용되는 인터넷 응용 프로그램 인증 메커니즘과 .NET Framework의 코드 액세스 권한을 기본적으로 지원함으로써 인터넷 응용 프로그램에 안전한 환경을 제공합니다.

자세한 내용은 최선의 System.Net 클래스 구현 방법을 참조하십시오.

다음 표에서는 보안과 관련된 일반적인 작업을 나열합니다.

작업

참조

SSL(Secure Sockets Layer) 연결을 사용하여 HTTP 서버에 연결

SSL 사용

HTTP 인증 메서드를 사용하여 HTTP 서버에 인증된 연결 설정

인터넷 인증

인터넷 연결을 사용하는 응용 프로그램에 대해 코드 액세스 보안 설정

웹 및 소켓 권한

기본 및 다이제스트 인증 사용

기본 및 다이제스트 인증

NTML 및 Kerberos 인증 사용

NTLM 및 Kerberos 인증

System.Net을 사용하여 XML Web services에 보안 적용

ASP.NET을 사용하여 만든 XML Web services에 보안 설정

참고 항목

개념

최선의 System.Net 클래스 구현 방법

인터넷 응용 프로그램 구성

참조

System.Net

System.Net.Sockets

기타 리소스

네트워크 프로그래밍

Visual Studio의 네트워크 네임스페이스