서버간의 통신을 서버와, 클라이언트로 분리시킨 설계방식으로, 이러한 설계방식을 2티어 아키텍처, 또는 클라이언트-서버 아키텍처라고 부른다.
또한 이러한 2티어 아키텍처에 데이터베이스가 추가된 설계방식을 3티어 아키텍처라 부른다.
- 클라이언트(client) : 서버로 요청을 보내고, 요청한 내용 응답(리소스)를 받아 사용하는 역할.
(웹/앱을 이용하는 사용자)- 서버(server) : 클라이언트의 요청에 따라 적절한 응답(리소스)를 전달해주는 곳
필요에 따라 서버는 데이터베이스에 요청을 보내고, 회신 받은 응답(리소스)을 활용한다.- 데이터베이스 : 리소스를 저장하는 공간 (일종의 서버라고 볼 수 있음)
서버의 요청을 따라 적절한 응답(리소스)을 꺼내 서버에게 전달한다.
클라이언트와 서버는 요청과 응답을 주고 받는 관계이며, 반드시 요청 후에 응답이 오며, 요청하지도 않았는데 응답이 오는 경우는 없다!
클라이언트와 서버 간의 통신을 알아보려면, 보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있게 됩니다. 우선 프로토콜이 무엇인지 HTTP는 무엇인지 알아보자!
참조 : 코드스테이츠
추가: 아키텍처 (Architecture)란 단어개념알기 [출처 블로그]
컴퓨터 시스템의 하드웨어 구조=아키텍처 : 컴퓨터 시스템을 구성하는 하드웨어 장치인 CPU 입출력 장치 등 컴퓨터 구성 요소들에 대한 전반적인 기계적 구조, 설계방법