애플리케이션 디자인 선택
이 문서에서는 인터넷을 프로그래밍할 때 고려해야 할 몇 가지 디자인 문제에 대해 설명합니다.
이 문서에서 다루는 항목은 다음과 같습니다.
지금 프로그램 작성을 시작할 준비가 되었으면 MFC 애플리케이션 작성을 참조 하세요.
인트라넷 및 인터넷
많은 애플리케이션은 인터넷에서 실행되며 브라우저 및 인터넷 액세스 권한이 있는 모든 사용자가 액세스할 수 있습니다. 또한 기업은 TCP/IP 프로토콜 및 웹 브라우저를 사용하여 회사 차원의 네트워크인 인트라넷을 구현하고 있습니다. 인트라넷은 회사 전체 정보를 위해 쉽게 업그레이드할 수 있는 중앙 소스를 제공합니다. 소프트웨어 업그레이드, 설문 조사 제공 및 표화, 고객 지원 및 정보 제공에 사용할 수 있습니다. 다음 표에서는 인터넷 및 인트라넷의 기능을 비교합니다.
인터넷 | Intranet |
---|---|
낮은 대역폭 | 높은 대역폭 |
데이터 및 시스템의 보안 강화 | 데이터 및 시스템에 대한 제어된 액세스 |
콘텐츠의 최소 제어 | 콘텐츠의 높은 제어 |
클라이언트 또는 서버 애플리케이션
애플리케이션은 클라이언트 컴퓨터 또는 서버 컴퓨터에서 실행 될 수 있습니다. 애플리케이션을 서버에 저장한 다음 인터넷을 통해 다운로드하여 클라이언트 컴퓨터에서 실행할 수도 있습니다. MFC WinInet 클래스는 클라이언트 애플리케이션에서 파일을 다운로드하는 데 사용됩니다. MFC 및 비동기 모니커 클래스는 파일을 다운로드하고 속성을 제어하는 데 사용됩니다. ActiveX 컨트롤 및 활성 문서에 대한 클래스는 클라이언트 애플리케이션 및 클라이언트에서 실행하기 위해 서버에서 다운로드된 애플리케이션에 사용됩니다.
웹 페이지: HTML, 활성 문서, ActiveX 컨트롤
Microsoft는 웹 페이지에서 콘텐츠를 제공하는 여러 가지 방법을 제공합니다. 웹 페이지에서는 개체 태그와 같은 표준 HTML 또는 HTML 확장을 사용하여 ActiveX 컨트롤과 같은 동적 콘텐츠를 제공할 수 있습니다.
웹 브라우저는 일반적으로 HTML 페이지를 표시합니다. 활성 문서는 COM 지원 브라우저의 간단한 지점 및 클릭 인터페이스에 애플리케이션의 데이터를 표시할 수도 있습니다. 활성 문서 서버는 자체 메뉴와 도구 모음을 사용하여 전체 클라이언트 영역에 문서 전체 프레임을 표시할 수 있습니다.
작성하는 ActiveX 컨트롤은 서버에서 비동기적으로 다운로드하여 웹 페이지에 표시할 수 있습니다. VBScript와 같은 스크립팅 언어를 사용하여 서버에 정보를 보내기 전에 클라이언트 쪽 유효성 검사를 수행할 수 있습니다.
브라우저 또는 독립 실행형 애플리케이션
HTML 페이지에 포함된 ActiveX 컨트롤과 브라우저에서 볼 수 있는 활성 문서 서버를 작성할 수 있습니다. 웹 서버에서 ISAPI 애플리케이션을 실행하는 요청을 제출하는 단추가 포함된 HTML 페이지를 작성할 수 있습니다. 브라우저 애플리케이션을 사용하지 않고 인터넷 프로토콜을 사용하여 파일을 다운로드하고 사용자에게 정보를 표시하는 독립 실행형 애플리케이션을 작성할 수 있습니다.
인터넷의 COM
ActiveX 컨트롤, 활성 문서 및 비동기 모니커 모두 COM(구성 요소 개체 모델) 기술을 사용합니다.
ActiveX 컨트롤은 인터넷 사이트의 문서 및 페이지에 동적 콘텐츠를 제공합니다. COM을 사용하면 활성 문서를 사용하여 ActiveX 컨트롤 및 전체 프레임 문서를 빌드할 수 있습니다.
비동기 모니커에서는 데이터를 다운로드하는 증분 또는 점진적 수단을 포함하여 인터넷 환경에서 컨트롤이 잘 수행되도록 하는 기능을 제공합니다. 컨트롤은 동시에 데이터를 비동기적으로 검색할 수도 있는 다른 컨트롤에서도 잘 작동해야 합니다.
클라이언트 데이터 다운로드 서비스
클라이언트로 데이터를 전송하는 데 도움이 되는 두 가지 API 집합은 WinInet 및 비동기 모니커입니다. HTML 페이지에 큰 .gif 및 .avi 파일과 ActiveX 컨트롤이 있는 경우 비동기 모니커를 사용하거나 WinInet를 비동기적으로 사용하여 비동기적으로 다운로드하여 사용자에 대한 응답성을 높일 수 있습니다.
인터넷의 일반적인 작업은 데이터를 전송하는 것입니다. 이미 Active 기술을 사용하고 있는 경우(예: ActiveX 컨트롤이 있는 경우) 비동기 모니커를 사용하여 데이터를 다운로드할 때 점진적으로 렌더링할 수 있습니다. WinInet를 사용하여 HTTP, FTP 및 gopher와 같은 일반적인 인터넷 프로토콜을 사용하여 데이터를 전송할 수 있습니다. 두 방법 모두 프로토콜 독립성을 제공하고 WinSock 및 TCP/IP를 사용하는 추상 계층을 제공합니다. WinSock을 직접 사용할 수 있습니다.
다음 표에서는 MFC를 사용하여 인터넷을 통해 데이터를 전송하는 여러 가지 방법을 요약합니다.
이 프로토콜 사용 | 이러한 조건 하에서 | 이러한 클래스 사용 |
---|---|---|
비동기 모니커를 사용하여 인터넷 다운로드 | COM, ActiveX 컨트롤 및 인터넷 프로토콜을 사용하는 비동기 전송의 경우 | CAsyncMonikerFile, CDataPathProperty |
WinInet | HTTP, FTP 및 gopher에 대한 인터넷 프로토콜의 경우 데이터는 동기적으로 또는 비동기적으로 전송될 수 있으며 시스템 전체 캐시에 저장됩니다. | CInternetSession, CFtpFileFind, CGopherFileFind 등 |
WinSock | 효율성과 제어를 극대화합니다. 소켓 및 TCP/IP 프로토콜을 이해해야 합니다. | CSocket, CAsyncSocket |
참고 항목
MFC 인터넷 프로그래밍 작업
MFC 인터넷 프로그래밍 기본 사항
Win32 인터넷 확장(WinInet)
인터넷의 비동기 모니커