Replies: 1 comment
1. 왜 프로토콜이 필요한가?프로토콜(Protocol)이란 네트워크로 연결된 서로 다른 시스템(다른 제조사, 다른 OS, 다른 프로그래밍 언어로 만들어진 장치들 등)이 정보를 주고받기 위해 합의한 통신 규칙의 집합이다. 사람이 대화할 때 같은 언어와 문법을 사용해야 의미를 정확하게 전달할 수 있듯이, 컴퓨터도 다음과 같은 사항을 미리 약속해야 한다.
필요성① 서로 다른 시스템 간 통신 네트워크에는 운영체제, 하드웨어, 프로그래밍 언어가 서로 다른 장치들이 연결된다. 그러나 양쪽이 HTTP와 같은 동일한 프로토콜을 사용하면 내부 구현과 관계없이 통신할 수 있다. 즉, 프로토콜은 서로 다른 시스템 사이에서 사용하는 공통 인터페이스 역할을 한다. 필요성② 데이터의 정확한 해석 단순히 데이터를 전송하는 것만으로는 부족하다. 수신자는 데이터의 구조와 의미를 알아야 한다. 예를 들어 다음 값만 전달되면 의미가 불분명하다. HTTP에서는 프로토콜은 데이터의 형식뿐 아니라 각 값이 나타내는 의미론도 정의한다. 필요성③ 통신 순서 제어 통신 과정에서는 메시지를 주고받는 순서도 중요하다. 일반적인 HTTP 통신 흐름은 다음과 같다. WebSocket은 다음과 같은 순서를 사용한다. 이처럼 프로토콜은 메시지의 형식뿐 아니라 통신 절차와 상태 변화까지 정의한다. 필요성④ 에러 처리 네트워크에서는 다양한 문제가 발생할 수 있다.
프로토콜은 이러한 상황을 처리하기 위한 규칙을 제공한다. HTTP의 대표적인 상태 코드는 다음과 같다.
클라이언트는 상태 코드를 통해 요청 결과를 일관된 방식으로 처리할 수 있다. 필요성⑤ 표준화와 확장성 표준 프로토콜을 사용하면 특정 기업이나 프로그램에 종속되지 않는다. 예를 들어 웹 브라우저와 서버가 HTTP 표준을 준수하면 다음과 같은 다양한 조합이 가능하다. 새로운 브라우저나 서버가 등장해도 기존 HTTP 규칙을 따르면 기존 시스템과 통신할 수 있다. HTTP는 상태를 기본적으로 서버가 유지하지 않는 애플리케이션 계층의 요청·응답 프로토콜이며, 확장 가능한 의미 구조와 자체 설명적인 메시지를 사용하도록 정의되어 있다. 2. 프로토콜 사례 분석(HTTP, WebSocket)HTTP의 개념 HTTP는 Hypertext Transfer Protocol의 약자로, 웹에서 클라이언트와 서버가 자원을 주고받기 위해 사용하는 애플리케이션 계층 프로토콜이다. 일반적으로 다음과 같은 구조로 동작한다. HTTP는 요청과 응답을 중심으로 동작한다. RFC 9110에서는 HTTP를 상태 비저장 방식의 애플리케이션 계층 요청·응답 프로토콜 계열로 정의한다. HTTP 요청 구조 HTTP 요청은 일반적으로 다음 요소로 구성된다.
HTTP 응답 구조 응답은 다음 요소로 구성된다.
주요 HTTP 메서드
HTTP의 특징
HTTP의 장점
HTTP의 단점
WebSocket의 개념 WebSocket은 클라이언트와 서버 사이에 지속적인 연결을 형성하고, 양쪽이 자유롭게 데이터를 전송할 수 있도록 하는 양방향 통신 프로토콜이다. WebSocket은 독립적인 TCP 기반 프로토콜이며, 클라이언트와 서버 간 양방향 통신을 제공하도록 정의되어 있다. HTTP와 다른 점 일반적인 HTTP에서는 클라이언트가 먼저 요청해야 서버가 응답한다. WebSocket 연결이 수립되면 서버도 클라이언트의 추가 요청을 기다리지 않고 메시지를 보낼 수 있다. WebSocket API는 브라우저와 서버 사이에 양방향 대화형 통신 세션을 생성할 수 있게 한다. WebSocket 연결 과정 WebSocket은 처음부터 바로 WebSocket 형식으로 시작하지 않는다. 일반적으로 HTTP 요청을 사용해 프로토콜 전환을 요청한다. 1단계: 클라이언트의 연결 전환 요청 주요 헤더의 의미는 다음과 같다.
2단계: 서버의 전환 승인 101 Switching Protocols 응답을 받으면 HTTP 기반의 연결 설정 과정이 끝나고 WebSocket 통신이 시작된다. HTTP/1.1 연결을 WebSocket과 같은 다른 프로토콜로 전환하는 연결 업그레이드 방식이 사용될 수 있다. WebSocket 메시지 전송 WebSocket 연결이 완료된 후에는 클라이언트와 서버가 프레임 단위로 데이터를 전송한다. 주요 프레임 유형은 다음과 같다.
WebSocket은 메시지가 수신되면 이벤트가 발생하는 이벤트 기반 방식으로 사용할 수 있다. WebSocket의 특징
WebSocket의 장점
WebSocket의 단점
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
📆 일자: 26년 8월 1일(금)
발제 의도
1. 왜 프로토콜이 필요한가?
2. 프로토콜 사례 분석(Http, WebSocket)
All reactions