네트워크

[네트워크] 통신 프로토콜이 뭘까요?

연화 2025. 1. 3. 09:00

웹 서버에서 특정 리소스를 클라이언트가 다운로드하려면, 클라이언트가 원하는 리소스를 명시적으로 요청해야 합니다. 서버는 이 요청을 받아들여 적절한 처리 과정을 거쳐 클라이언트에게 리소스를 반환합니다. 이러한 과정에서 클라이언트의 행동을 요청(Request), 서버의 행동을 응답(Response)이라고 합니다.

사실, 요청과 응답은 우리의 일상에서도 흔히 볼 수 있는 상호작용입니다. 집, 가게, 회사 등에서 누군가에게 어떤 것을 요구할 때 요청이 이루어지고, 이에 대한 반응이 응답으로 이어집니다. 이 과정에서 중요한 점은 이러한 행동들이 일정한 규칙을 따른다는 것입니다. 예를 들어, A에게 B를 요청할 때 "A야, B 좀 줘"라고 하면, A는 이를 이해하고 B를 찾아 전달합니다. 상황에 따라 요청 방식은 달라질 수 있지만, 대개 본질은 동일합니다.

 

그렇다면 프로토콜 (Protocol) 은 뭘까요?

프로토콜(Protocol)은 이와 같은 규칙화된 상호작용의 규범을 의미합니다. 일상생활에서는 상호작용이 관습이나 에티켓이라는 느슨한 프로토콜에 따라 이루어집니다. 예를 들어, 통화할 때는 대개 "여보세요"로 시작하고, 본론을 말한 후 "끊어"나 "바이"로 끝냅니다. 때로는 본론을 말하기 전에 신원을 밝히기도 하고, 경우에 따라 인사를 생략할 수도 있습니다. 맥락을 이해하는 사람들끼리는 모호한 표현으로도 의사소통이 가능합니다. 이러한 융통성 덕분에 정보 교환에 큰 문제는 발생하지 않습니다.

반면 컴퓨터 간 통신에서는 더 엄격한 프로토콜을 사용해야 합니다. 이는 컴퓨터가 융통성 있는 해석을 하는 것이 어렵기 때문입니다. 융통성 때문에 발생할 수 있는 통신 오류를 방지하기 위해 컴퓨터 통신에서는 교환하는 데이터(이하 메시지)의 형식을 명확히 정의하는 문법(Syntax)이 포함됩니다. 문법에 맞지 않는 메시지는 잘못된 것으로 간주되어 무시됩니다. 예를 들어, 웹 서버에 "GET"라는 요청을 보내야 할 때, 이를 "GIVEME"로 보내면 의미가 비슷해도 웹 서버는 이를 오류로 처리합니다.

현재 널리 사용되는 표준 통신 프로토콜로는 네트워크의 기본을 이루는 TCP/IP, 웹 애플리케이션의 근간이 되는 HTTP, 파일 전송에 사용되는 FTP 등이 있습니다.

 

요청과 응답 구조로 이루어진 HTTP 통신

HTTP(Hyper Text Transfer Protocol)는 서버와 클라이언트가 데이터를 교환하기 위해 요청(Request)과 응답(Response) 형식을 따르는 프로토콜입니다. 팀 버너스 리(Tim Berners-Lee)와 그의 팀이 설계한 이후, 현대 웹 서비스의 근본적인 프로토콜로 자리 잡았습니다.

HTTP의 기본 구조는 클라이언트가 서버에 요청을 보내고, 서버가 이에 응답하는 형태로 작동합니다. 웹 서버는 일반적으로 HTTP 서버를 특정 서비스 포트에서 대기 상태로 둡니다. 이 포트는 주로 TCP/80이나 TCP/8080입니다. 클라이언트가 이 포트로 HTTP 요청을 보내면 서버는 이를 처리하고 적절한 응답을 반환합니다.

 

💡 서비스 포트에 대해서 더 알고 싶다면?

 

[네트워크] 인코딩(Encoding)과 포트(Port)

인코딩이란?컴퓨터에서 다루는 모든 데이터는 0과 1로 이루어져 있습니다. 지금 보고 있는 글도 사실 0과 1의 조합으로 표현된 결과물입니다. 우리가 "사과"라는 단어를 보고 사과를 떠올리는 것

dev-yeonwha.tistory.com