DevOps/DevOps

클라이언트 - 서버 아키텍처 (2티어 아키텍처, 3티어 아키텍처, API)

chanstory 2022. 12. 6. 18:42
반응형

우리는 평소 스마트폰 내 어플리케이션을 많이 사용합니다.

 

그 중 쇼핑몰 어플리케이션의 경우 인터넷을 통하여 쇼핑 품목을 확인 할 수 있습니다.

 

사용자 (Client)는 인터넷을 통하여 원하는 정보를 요청하고

 

제공자 (Server)는 마찬가지로 인터넷을 통하여 요청 받은 정보에 대한 응답을 합니다.

 

 

서버는 어플리케이션의 최신정보를 사용자에게 제공하게 되는데

 

리소스를 사용하는 어플리케이션 (사용자 입장)과 리소스가 존재하는 (서버)를 분리하여 

 

2-Tier 아키텍처 (클라이언트 - 서버 아키텍처) 로 구성을 한다면 사용자의 별다른 업데이트 없이 서버의 최신정보 제공이 가능하게 됩니다.

 

 

서버의 역할은 리소스를 전달하는 것이며 리소스를 데이터베이스에 별도로 마련해 둔 형태를

3-Tier 아키텍처 라고 합니다.

 

 

 

클라이언트와 서버간의 통신에서 서로 정해진 통신 규약인 프로토콜을 이용하여 데이터를 송수신 할 수 있습니다.

 

웹 어플리케이션 아키텍처에서는 클라이언트와 서버가 HTTP 프로토콜을 이용해 대화를 나눌 수 있습니다.

 

클라이언트와 서버간의 규약을 꼭 지켜야만 서로간 정확한 요청과 응답을 할 수 있기에 중요한 부분입니다.

 

 











HTTP는 OSI 7계층 중 7 Layer인 응용 계층에 속합니다.

 

응용계층의 Protocol에는 HTTP, FTP, DNS 등이 있습니다.

 

 

 

API (Application Programming Interface)는 원활한 통신이 이루어 질 수 있도록

 

서버가 클라이언트에게 제공하는 인터페이스 입니다.

(응용프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 이다.)

서버는 리소스 전달을 위한 메뉴판인 API를 작성해야 클라이언트가 HTTP 프로토콜을 사용하여 주소로 접근할 수 있습니다.

 

 

반응형