인터넷 연결이 없다면, 데이터를 정상적으로 받아올 수 없기 때문에 동작하지 않습니다.
(Server는 영어 뜻 그대로 Serve 하는 주체입니다.)
정보를 보여주는 클라이언트와 데이터를 받아오는 서버를 불러오는 걸 분리시킨 것을 클라이언트-서버 아키텍처라고 부릅니다.
클라이언트의 요청없이 서버가 데이터를 전달하는 경우는 없습니다.
일반적으로 서버는 리소스를 전달해주는 역할만 담당합니다. 리소스를 저장하는 공간을 DB(데이터베이스)라고 부릅니다.
클라이언트, 서버, DB가 존재하는 경우를 3티어 아키텍처라고 부릅니다.
Front: 클라이언트와 같이 사용자가 직접 눈으로 보고, UI를 클릭 또는 터치하는 등의 상호작용을 할 수 있는 앱을 주로 개발합니다.
Back: 상품 정보를 API로 노출, 로그인, 로그아웃, 권한 과ㅏㄴ리 등의 사용자 인증을 다루는 개발자를 Back 개발자라고 부릅니다. 일반적으로 Back 개발자가 DB, 시스템 설계까지 도맡아 하는 경우가 많습니다.
브라우저를 통해 주로 이용하는 웹(Web)플랫폼에서의 클라이언트 사이트를 웹사이트 또는 웹앱이라고 부릅니다.
스마트폰, 테블릿을 통해 주로 이용하는 걸 앱이라고 부릅니다.
서버는 무엇을 하느냐에 따라 종류가 나뉩니다.
클라이언트와 서버 간의 통신은 요청과 응답으로 이뤄집니다.
(요청 없는 응답은 없습니다.)
클라이언트와 서버는 HTTP라는 프로토콜을 이용해 대화를 나눕니다. 이를 HTTP 메시지라고 부릅니다.
프로토콜에도 다양한 방법이 있습니다. 앱을 이용하거나, 키오스크를 이용하거나 기타 등등
제대로 된 통신을 위해서는 규약(약속)을 반드시 지켜야 합니다.
응용 계층
전송 계층