익명 사용자
로그인하지 않음
계정 만들기
로그인
youngwiki
검색
Network Programming 문서 원본 보기
youngwiki
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
원본 보기
역사
←
Network Programming
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
상위 문서: [[컴퓨터 시스템]], [[컴퓨터 네트워크]] ==개요== 네트워크 애플리케이션은 컴퓨터 시스템의 많은 개념에 의존한다. 예를 들어, [[Process|프로세스(process)]], [[Signal|시그널(signal)]], [[Endianness|바이트 순서(byte ordering)]], 메모리 매핑(memory mapping), 동적 저장소 할당(dynamic storage allocation) 등이 모두 중요한 역할을 한다. 또한 application layer에서의 개념, [[Application Layer#Client-server architecture|클라이언트-서버(client-server)]] 구조 등에 대한 개념도 필요하다. 즉, 네트워크 프로그래밍은 네트워크 그 자체는 물론, 컴퓨터 시스템과도 땔려야 떌 수 없는 사이이다. 이 모델에서는, 하나의 애플리케이션이 서버 프로세스(server process)와 하나 이상의 클라이언트 프로세스(client process)로 구성된다. ==The Client-Server Programming Model== 거의 모든 네트워크 애플리케이션은 클라이언트-서버 모델에 기반한다. 이 모델에서는, 하나의 애플리케이션이 서버 프로세스(server process)와 하나 이상의 클라이언트 프로세스(client process)로 구성된다. '''서버는 어떤 자원(resource)을 관리'''하고, 이 '''자원을 적절히 다루어서 클라이언트에게 서비스를 제공'''한다. Figure 1에 나타나 있듯이, 클라이언트-서버 모델에서 기본적인 동작은 '''트랜잭션(transaction)'''이다. 이는 다음의 네 단계로 구성된다:[[파일:A client-server transaction.png|대체글=Figure 1. A client-server transaction|섬네일|Figure 1. A client-server transaction|가운데|500x500픽셀]] # 클라이언트가 트랜잭션을 시작하기 위해<ref>서비스를 받기 위함이다.</ref> 서버에 요청(request)을 보낸다. #* 예를 들어, 웹 브라우저가 파일을 필요로 할 때, 웹 서버에 요청을 보낸다. # 서버는 요청을 수신하고(receive), 이를 해석하고(interpret), 적절한 방식으로 자원을 조작(manipulate)한다. #* 예를 들어, 웹 서버가 브라우저로부터 요청을 받으면, 디스크 파일을 읽는다. # 서버는 클라이언트에게 응답(response)을 보낸 다음, 다음 요청을 기다린다. #* 예를 들어, 웹 서버는 파일을 클라이언트에게 전송한다. # 클라이언트는 응답을 수신하고, 이를 사용한다. #* 예를 들어, 웹 브라우저가 서버로부터 페이지를 수신한 후, 이를 화면에 표시한다. 이때 주의할 점은, 클라이언트와 서버는 프로세스이지, 호스트(host), 즉 실체적인 기계가 아니라는 것이다. 하나의 호스트는 서로 다른 여러 클라이언트와 서버를 동시에 실행할 수 있으며, 클라이언트와 서버 간의 트랜잭션은 동일한 호스트 내에서 일어날 수도, 서로 다른 호스트에서 일어날 수도 있다. ==각주== [[분류:컴퓨터 시스템]] [[분류:컴퓨터 네트워크]]
Network Programming
문서로 돌아갑니다.
둘러보기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록