안녕하세요. 허들러스 개발팀입니다.
현대 사회에서 우리는 인터넷을 통해 메일을 보내고, 대부분 컴퓨터로 일을 합니다. 뿐만 아니라 언택트 시대가 사회에 자리매김함으로써 IT 관련 지식은 필수적인 요소가 되었습니다.
이 글의 목적은 여기서부터 시작합니다.
IT 회사 개발자의 관점에서, 비 개발자인 사람 누구나 알기 쉽도록 IT 기초 지식과 용어들을 재미있고 쉽게 설명을 드리는 글이 되었으면 합니다.
1. 웹(Web) 이란?
먼저 웹을 이해하기 전에 우리는 인터넷이라는 용어에 대하여 정확히 짚고 넘어갈 필요가 있습니다.
인터넷은 여러 통신망을 하나로 연결한다는 의미로 “inter-network” 라는 말에서 시작되었으며, 이제는 전 세계 컴퓨터들을 하나로 연결하는 거대한 “통신망”을 의미합니다.
여기서 웹(Web)의 개념이 나오게 되는데요.
웹은 인터넷에 연결된 컴퓨터(사용자)들이 서로의 정보를 공유할 수 있는 전 세계적인 공간을 의미합니다. 또한 웹은 World Wide Web의 줄임말로 WWW라고 부르기도 합니다.
인터넷과 같은 의미로 많이 사용되지만, 정확히 말해 웹은 인터넷 상 하나의 서비스일 뿐입니다.
2. 웹 통신과 프로토콜
인터넷은 거대한 “통신망”을 의미한다고 하였습니다. 그러면 인터넷 상에서의 “통신” 은 어떻게 이루어질까요?
먼저, ‘통신’ 이라는 것은 ‘소식을 전한다’라는 사전적 의미를 가지고 있습니다. 일상에서는 전화, 메일 등을 이용해 소식을 주고받는데요. 내가 전하려는 사람에게 전하려는 정보가 정확하게 전달이 되어야 하고 다른 사람들이 이 정보를 모르도록 주고받아야 합니다.
인터넷 상의 통신도 마찬가지입니다. 많은 정보들을 주고받기 위해서 인터넷에서 엄격한 통신 규약이 필요하게 되었는데요. 이것이 바로 프로토콜(Protocol)입니다. 좀 더 풀어서 설명 드리자면 프로토콜(Protocol)은 컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계입니다. 컴퓨터와 컴퓨터 사이에서의 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구하게 되는데요. 프로토콜(Protocol)은 이런 형식을 정의하는 규칙들의 집합 정도로만 생각해주시면 될 것 같습니다.
프로토콜 (Protocol)의 종류에는 파일 전송을 위한 FTP, 하이퍼텍스트 문서를 위한 HTTP, 전자 우편을 위하는 SMTP 등이 있습니다.
저희는 웹 통신에서 일반적으로 많이 사용되는 HTTP에 대해서 먼저 설명해 드린 후 다음 글에서 다른 프로토콜에 대하여 알아보도록 하겠습니다.
3. HTTP
HTTP란, Hyper Text Transfer Protocol의 약어로 웹 클라이언트와 웹 서버 간의 Hyper Text 문서를 교환하기 위하여 사용된 통신 규약입니다. 웹 기반 정보 공유에서 일반적으로 사용되는 프로토콜이라고 할 수 있습니다.
그렇다면 ‘Hyper Text‘란 무엇일까요?
Hyper(건너 편의, 초월)라는 뜻과 Text를 합성하여 만든 컴퓨터 용어입니다. 즉, ‘Text를 뛰어넘다’는 의미를 가지고 있습니다.
다른 페이지로 이동하거나 같은 페이지 내의 다른 데이터로 이동하는 것, 이것이 바로 하이퍼 텍스트의 개념입니다. 하이퍼 텍스트 개념이 인터넷과 결합하여 HTML의 주된 구성 요소가 되었다는 점에서, 중요한 개념이라고 할 수 있습니다. ( HTML은 추후에 다룰 예정 )
4. 서버와 클라이언트
HTTP는 웹 서버와 클라이언트 간 통신하기 위한 통신 규약이라고 설명하였습니다. 그렇다면 웹은 알겠는데 서버와 클라이언트는 무엇을 의미할까요?
예를 들어 먼저 설명해 드리겠습니다.
우리가 식당에 가서 음식을 주문한다면 아래와 같은 순서로 음식을 받을 수 있습니다.
1) 고객이 음식을 주문합니다.
2) 식당은 주문 받은 음식을 요리해 고객에게 전달해줍니다.
위의 예시를 컴퓨터와 컴퓨터 사이의 통신으로 나타낸다면 아래 그림과 같이 나타낼 수 있습니다.
1) 컴퓨터 1은 컴퓨터 2에게 요청을 보냅니다.
2) 컴퓨터 2는 컴퓨터 1에게 응답을 보냅니다.
HTTP 통신은 음식점에서 주문하는 것과 같이 고객이 식당 쪽으로 주문하고, 식당은 음식을 서빙하는 역할을 해주고 있습니다. 이것을 그대로 컴퓨터와 컴퓨터 사이의 통신으로 적용한다면 요청을 보내는 쪽은 클라이언트(고객)가 되고 요청을 받아서 응답을 보내는 쪽은 서버(식당)가 됩니다. 프로토콜에서 요청은 Request라고 하며, 응답은 Response라고 합니다.
즉, HTTP 통신은 서버와 클라이언트 사이의 Request 와 Response 로 이루어진 프로토콜이라고 정리할 수 있습니다.
간단하게 웹이란 무엇인가와 서버와 클라이언트에 대하여 알아봤는데요. 웹 환경을 이해하는 데 있어서 도움이 되었으면 합니다. 다음 시리즈부터는 프로토콜 종류에 대해서 살펴보도록 하겠습니다.
긴 글 읽어주셔서 감사합니다.
해당 글은 그로스 마케팅 파트너 허들러스와 모비인사이드의 파트너쉽으로 제공되는 기사입니다.