서비스를 제공하는 프로그램을 서버(Server), 서비스를 받는 프로그램을 클라이언트(Client)라고 하는데 기본적으로 클라이언트는 서비스를 받기 위해 서버한테 연결을 요청(Request)하고 서버는 클라이언트가 요청한 데이터를 처리한 결과(Response)를 클라이언트에게 보내준다.
인터넷에 연결되어 있는 컴퓨터들이 데이터를 주고받는 방법을 알아보자
1. 클라이언트가 구글이라는 홈페이지에 접속하려 한다면 DNS(Domain Name System)를 통해 해당 IP를 얻은 다음 구글 서버 컴퓨터에 접속하게 되는데 그중에서도 Web Server에 접속하려 하려고 한다.
2. 구글 서버 컴퓨터에는 각 서버마다 정해진 포트번호가 있는데 Web Server 포트번호에 해당하는 20번으로 접속을 한다.
3. 해당 웹서버 접속이 완료되었으면 웹서버에서는 클라이언트가 보낸 정보를 처리하고 클라이언트에게 처리된 데이터를 전송하기 위해 랜덤으로 할당된 동적 포트번호(해당 운영체제가 자동으로 부여하는 포트 번호)를 통해 클라이언트에게 데이터를 전송한다.
'프로그래밍 언어' 카테고리의 다른 글
서버와 클라이언트 채팅 (0) | 2019.09.29 |
---|---|
소켓 네트워크 프로그래밍 (0) | 2019.09.07 |
스레드풀 (0) | 2019.09.06 |
멀티스레드 동시성(Concurrency)vs병렬성(Parallelism) (0) | 2019.09.06 |
객체(Object)의 개념 (0) | 2019.09.03 |