우리가 사용하는 웹 페이지는 대부분 2티어 아키텍처로 이루어져 있다.
2티어 아키텍처란, 리소스가 존재하는 곳과 리소스를 사용하는 앱으로 분리시킨 구조를 말한다.
다른말로 클라이언트-서버 아키텍처
라고 부르기도 한다.
클라이언트 - 서버는 각각 서로에게 요청과 응답을 주고받는다.
여기서, 서버가 리소스를 다른 공간에서 가져오는 방식일 경우 3티어 아키텍처라고 부른다.
다른 공간의 대표적 예시는 데이터베이스
이다.
우리는 이 3티어 아키텍처를 크게 2개의 단으로 나눌수 있다.
프론트엔드
백엔드
클라이언트와 서버 간의 통신을 알아보려면, 프로토콜이라는 개념을 알아야 한다.
프로토콜은 통신 규약으로 클라이언트가 서버에게 요청을 할때 반드시 지켜야 할 규약이 있다.
웹 애플리케이션에서 클라이언트와 서버가 서로 HTTP
라는 프로토콜을 이용해서 요청과 응답을 주고받는다.
HTTP
를 이용해 주고받는 메시지를 HTTP 메시지
라고부른다.
HTTP 프로토콜 말고도 다른 종류의 프로토콜이 있다.
여러 종류의 프로토콜이 있는 만큼 각각 지켜야 할 규약이 있다.
클라이언트가 리소스를 요청했을때 서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스를 제공해주는데, 이것을 API
라고 한다.
서버가 API를 구축해놓아야 클라이언트가 이용할 수 있다.
URL은 네트워크 상에서 웹 페이지,이미지,동영상 등의 파일이 위치한 정보를 나타낸다.
url은 다음과 같이 총 3개로 구분할 수 있다.
URI는 url에 추가적으로 query
를 더한다.
도메인 : 웹 브라우저를 통해 특정 사이트에 진입을 할 때 IP 주소를 대신해 사용하는 주소를 도메인이라고 한다. nslookup 도메인
을 통해 해당 도메인의 IP주소를 확인할 수 있다.
DNS : 위 도메인과 IP주소를 매칭해주는 작업을 하는 서버를 뜻한다.