웹
클라이언트와 서버
조명인
2023. 2. 16. 11:04
쇼핑몰 웹페이지를 들어갔다고 가정하겠습니다. 우리는 원하는 상품을 찾기 위해 검색하고, 페이지 번호를 클릭하거나 스크롤을 계속 내립니다. 리뷰를 확인하고, 원하는 물건을 장바구니에 담고, 장바구니를 확인하고, 결제를 하고, 결제 내역을 봅니다. 이와 같은 것들을 하기 위해서는 쇼핑몰의 리소스를 가져와야 합니다. 우리가 사용자로서 쇼핑몰의 특정 정보를 달라고 요청하면 쇼핑몰 서버에서는 받은 요청을 잘 처리하여 우리가 필요한 정보, 리소스를 응답으로 보내줍니다.
여기서 리소스를 요청하고 사용하는 쪽을 클라이언트, 리소스가 존재하는 곳을 서버라고 합니다. 일반적으로 서버는 리소스를 전달하는 역할을 담당합니다. 리소스를 저장하는 공간을 따로 마련해 두는데 이 공간을 데이터베이스라고 합니다. 이렇게 클라이언트, 서버, 데이터베이스의 형태를 띄고 있는 것을 3티어 아키텍처라고 합니다.
프론트엔드 개발자는 사용자가 직접 눈으로 보고, 클릭, 터치하는 등 상호작용을 하는 어플리케이션을 개발합니다.
백엔드 개발자는 서버나 데이터베이스에서 요청을 처리하거나 로그인 같은 사용자 인증을 다룹니다.