티스토리 뷰

CS

HTTP/네트워크

김규현 2021. 7. 4. 21:35

 네트워크의 기본적인 구조는 클라이언트-서버 아키텍처(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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함