모든 네트워크 응용 프로그램은 클라이언트-서버 모델에 기초한다.
서버 : 일부 리소스를 관리하고, 이 리소스를 조작해서 클라이언트를 위한 일부 서비스를 제공
- 웹 서버는 디스크 파일들을 관리하고, 클라이언트를 대신해서 이들을 가져오고 실행한다.
- FTP 서버는 클라이언트를 위해 저장하고 읽어오는 디스크 파일들을 관리
- 이메일 서버는 클라이언트를 위해서 읽고 갱신하는 스풀 파일을 관리
클라이언트-서버 모델에서 근본적인 연산은 트랜잭션이다.
클라이언트 - 서버 트랜잭션의 4 단계
- 클라이언트가 서비스를 필요로 할 때, 클라이언트는 한 개의 요청 request을 서버에 보내는 것으로 트랜잭션을 개시
- 서버는 요청을 받고, 해석하고, 자신의 자원들을 적절한 방법으로 조작한다.
- 서버는 응답 response을 클라이언트로 보내고, 그 후에 다음 요청을 기다린다.
- 클라이언트는 응답을 받고 이것을 처리한다.
client - server 트랜잭션 4단계 예시
- 웹 브라우저가 파일을 필요로 할 때, 웹 서버로 요청을 보냄
- 웹 서버가 브라우저로부터 요청을 받을 때, 디스크 파일을 읽는다.
- 웹 서버는 이 파일을 다시 클라이언트로 돌려보낸다.
- 웹 브라우저가 서버로부터 페이지를 한 개 받은 후, 스크린에 디스플레이!
알아두자 !
- 클라이언트와 서버는 프로세스이다.
- 이 컨텍스트에서 종종 불린 것처럼 머신이나 호스트는 아니다.
'SW 사관학교 정글(Jungle) > 컴퓨터 시스템(CSAPP)' 카테고리의 다른 글
[CSAPP] 11.3 글로벌 IP 인터넷 (0) | 2024.09.16 |
---|---|
[CSAPP] 11.2 네트워크 (1) | 2024.09.16 |
[CSAPP] 9-9 동적 메모리 할당(Dynamic Memory Allocation) (0) | 2024.09.05 |
[CSAPP] 1-7. 운영체제는 하드웨어를 관리한다. (0) | 2024.08.27 |
[CSAPP]1-5, 1-6 캐시와 저장장치 계층구조 (0) | 2024.08.27 |