etc
HTTP vs 이벤트(Event)
haheehee
2025. 5. 7. 14:21
728x90
🔍 HTTP vs 이벤트(Event) — 차이점, 원리, 장단점, 사용 시점까지 완전 정리
웹 개발이나 서버 아키텍처를 공부하다 보면 흔히 접하게 되는 개념이 바로 HTTP 통신과 이벤트 기반 처리입니다.
하지만 두 개념의 구조, 동작 방식, 사용 목적은 완전히 다릅니다.
이번 포스팅에서는 HTTP와 이벤트의 차이점을 개념부터 동작 방식, 장단점, 사용 시점까지 깔끔하게 정리해 드립니다.
✅ 1. 개념 요약
항목 | HTTP | 이벤트 (Event) |
---|---|---|
정의 | 클라이언트가 서버에 요청하고 응답을 받는 방식 | 특정 사건이 발생하면 미리 등록된 함수가 실행되는 구조 |
방향 | 단방향 요청-응답 구조 | 비동기, 반응형 처리 |
주체 | 클라이언트가 주도 | 이벤트 발생자가 주도 |
예시 | API 요청, 웹페이지 불러오기 | 버튼 클릭, WebSocket 메시지 수신 |
✅ 2. 동작 방식
🔸 HTTP의 동작 방식 (요청/응답 기반)
- 클라이언트가 서버에 요청 전송 (GET, POST 등)
- 서버는 요청을 받아 처리
- 처리 결과를 응답(Response)으로 반환
- 연결 종료 (Stateless 구조)
[클라이언트] ---요청---> [서버] ---응답---> [클라이언트]
특징:
- 클라이언트가 요청해야만 서버가 응답 가능
- 각 요청은 독립적 (상태 저장하지 않음)
- REST API, 웹페이지 요청 등에서 사용
🔸 이벤트의 동작 방식 (이벤트 기반 비동기 처리)
- 이벤트가 발생 (예: 클릭, 타이머, 네트워크 수신 등)
- 사전에 등록된 리스너(listener)가 실행됨
- 필요에 따라 UI 업데이트, 로직 실행, 네트워크 요청 수행
[소스] --이벤트 발생--> [리스너] --작업 실행-->
예시:
button.addEventListener('click', () => {
alert('버튼이 클릭됨!');
});
특징:
- 발생 즉시 비동기적 반응 가능
- 서버, 브라우저, Node.js 등 다양한 환경에서 사용
✅ 3. 장단점 비교
구분 | HTTP | 이벤트 |
---|---|---|
장점 | - 단순한 구조 - 요청 시점 제어 쉬움 - REST API 친화적 |
- 반응성 우수 - 실시간 처리 가능 - 사용자 경험 향상 |
단점 | - 실시간성 부족 - 서버가 수동적 - 상태 유지 어려움 |
- 흐름 제어 복잡 - 메모리 누수 위험 - 디버깅 어려움 |
✅ 4. 사용 시점
상황 | 적합한 방식 |
---|---|
단순한 데이터 요청 | HTTP |
실시간 알림, 채팅 | 이벤트 |
사용자 UI 반응 (클릭, 타이핑) | 이벤트 |
데이터 조회/저장 API | HTTP |
Node.js 비동기 작업 처리 | 이벤트 |
✅ 5. 실제 사용 예시
- HTTP 기반: 클라이언트가
GET /products
요청 → 서버에서 상품 목록 응답 - 이벤트 기반: 버튼 클릭 → 이벤트 리스너가 실행 → 상품 장바구니 추가
- 혼합 사용: 이벤트 발생 후 HTTP 요청 전송
✅ 6. 구조 시각 자료
HTTP와 이벤트 기반 구조를 비교한 다이어그램입니다.
✅ 마무리 요약
구분 | HTTP | 이벤트 |
---|---|---|
구조 | 요청-응답 | 발생-반응 |
실시간성 | 낮음 | 높음 |
주체 | 클라이언트 중심 | 이벤트 발생자 중심 |
예시 | REST API, 웹 요청 | 클릭, WebSocket, 비동기 처리 |
적합 용도 | 정적인 데이터 요청 | 동적인 사용자 반응 및 실시간 기능 |
결론: HTTP는 "요청-응답"이 필요할 때, 이벤트는 "상황 발생에 반응해야 할 때" 사용하는 것이 핵심입니다.
728x90