티스토리 뷰
네트워크의 기본적인 구조는 클라이언트-서버 아키텍처(2티어 아키텍처)로 대표된다. 아키텍처는 구조, 건축물, 건축학 등을 뜻하는 단어이다. 2티어라는 것은 계층이 2개로 나위어진다는 것을 의미한다. 곧, 클라이언트 계층과 서버 계층으로 나뉘어지는 구조를 클라이언트-서버 아키텍처라고 표현하는 것이다.
네트워크 통신은 정보를 주고 받는 것을 목적으로 한다. 한국에 서식하는 동물의 정보를 알려주는 웹페이지가 있다고 가정하자. 이 웹페이지에서 고양이에 대한 정보를 열람하기 위해 고양이 탭을 클릭하면 고양이에 대한 정보가 웹페이지상에 나타나게 된다. 이 일련의 행위들이 네트워크의 기본적인 통신방법이다. 이를 네트워크 통신의 관점에서 보자면, 고양이 탭을 클릭하는 행위는 서버에 고양이에 대한 정보를 보내달라는 요청을 의미한다. 서버에서는 이 요청을 받은 후 서버내에 저장된 정보들중 요청에 해당하는 정보를 찾아 응답을 한다. 웹페이지는 돌아온 응답을 바탕으로 사용자가 보기 편하도록 새로운 화면을 만들어서 보여준다.
기본적인 구조에서 더 나아간 3티어 아키텍처는 클라이언트-서버-데이터베이스로 구성되어 있다. 이 아키텍처에서 서버는 클라이언트와 데이터베이스간의 통신을 중계해주는 역할을 한다.
HTTP는 클라이언트와 서버 사이에서 이루어지는 요청/응답 프로토콜이다. 프로토콜의 사전적의미는 국제관계에서의 의정서, 협약, 규약등을 말하는데 이는 국가간의 조약에 의해 지켜야하는 규칙을 명시한다. 따라서 HTTP란 클라이언트와 서버간의 통신을 위해 지켜야하는 규칙이라고 할 수 있다. HTTP를 이용해서 서로 주고받는 메시지를 'HTTP 메시지' 라고 부른다.
'CS' 카테고리의 다른 글
| AWS배포 (0) | 2021.07.07 |
|---|---|
| 네트워크 심화 (0) | 2021.07.05 |
| 자료구조) 2. 1) Graph (0) | 2021.05.19 |
| 자료구조) 1. Stack, Queue (0) | 2021.05.16 |
| 클래스와 객체지향프로그래밍 (0) | 2021.05.10 |