토픽 156 / 164·비교표
## Part 4: 응용 계층 프로토콜
HTTP vs HTTPS
| 항목 | HTTP | HTTPS |
|---|
| 포트 | 80 | 443 |
| 암호화 | 평문 전송 | TLS/SSL 암호화 |
| 인증서 | 불필요 | 서버 인증서 필요 (CA 발급) |
| 성능 | 빠름 | TLS 핸드셰이크 오버헤드 |
| SEO | 불이익 | 검색엔진 우대 |
HTTP/1.1 vs HTTP/2 vs HTTP/3
| 항목 | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|
| 전송 계층 | TCP | TCP | QUIC (UDP) |
| 데이터 형식 | 텍스트 | 바이너리 프레임 | 바이너리 프레임 |
| 다중화 | 파이프라이닝 (제한적) | 멀티플렉싱 | 멀티플렉싱 (독립 스트림) |
| HOL Blocking | 요청/응답 레벨 | TCP 레벨 잔존 | 완전 해결 |
| 헤더 압축 | 없음 | HPACK | QPACK |
| 연결 수립 | TCP 3-Way + TLS | TCP 3-Way + TLS | 1-RTT (재연결 0-RTT) |
| 연결 마이그레이션 | 불가 | 불가 | 지원 (Connection ID) |
Socket vs HTTP vs WebSocket
| 항목 | Socket | HTTP | WebSocket |
|---|
| 통신 | 양방향/저수준 | 요청-응답/고수준 | 양방향/프레임 기반 |
| 프로토콜 | TCP/UDP 직접 | TCP | HTTP 업그레이드 |
| 연결 | 지속 연결 | 비연결 (Keep-Alive 가능) | 지속 연결 |
| 적합 | 게임 서버, DB | 웹 서비스, API | 채팅, 실시간 알림 |
DNS vs ARP
| 항목 | DNS | ARP |
|---|
| 변환 | 도메인 → IP | IP → MAC |
| 범위 | 글로벌 (계층적) | 로컬 (브로드캐스트) |
| 캐싱 | TTL 기반 | ARP 캐시 (수 분) |
| 프로토콜 | UDP 53 | L2 브로드캐스트 |
재귀 쿼리 vs 반복 쿼리 (DNS)
| 항목 | 재귀 쿼리 | 반복 쿼리 |
|---|
| 요청 주체 | 클라이언트 → 재귀 리졸버 | 리졸버 → 각 DNS 서버 |
| 응답 방식 | 최종 답 반드시 반환 | 참조 응답 가능 |
| 부하 | 재귀 리졸버에 집중 | 각 서버에 분산 |
| 사용 구간 | 클라이언트↔리졸버 | 리졸버↔Root/TLD/권한 서버 |
FTP vs FTPS vs SFTP
| 항목 | FTP | FTPS | SFTP |
|---|
| 포트 | 21 (제어), 20 (데이터) | 990/21 | 22 |
| 암호화 | 없음 (평문) | TLS/SSL | SSH |
| 인증 | 사용자명/비밀번호 | 인증서 + 사용자명 | 키/비밀번호 |
| 방화벽 | 패시브 모드 필요 | 다중 포트 이슈 | 단일 포트 (22) 유리 |
| 보안 수준 | 낮음 | 중간~높음 | 높음 |
gRPC vs REST vs GraphQL
| 항목 | gRPC | REST | GraphQL |
|---|
| 프로토콜 | HTTP/2 | HTTP/1.1 또는 2 | HTTP |
| 데이터 형식 | Protocol Buffers (바이너리) | JSON/XML | JSON |
| 통신 | 양방향 스트리밍 | 요청-응답 | 요청-응답 |
| 성능 | 높음 (바이너리/압축) | 중간 | 중간 |
| 적합 | 마이크로서비스 간 통신 | 공개 API | 유연한 데이터 조회 |
Sticky Session vs 분산 세션 vs JWT
| 구분 | Sticky Session | 분산 세션 | JWT |
|---|
| 서버 상태 | Stateful | Stateful(외부) | Stateless |
| 수평 확장 | 제약 | 용이 | 매우 용이 |
| 장애 내성 | 낮음 | 높음(HA) | 높음 |
| 강제 만료 | 가능 | 가능 | 어려움 |
| 적합 | 소규모/레거시 | 중대규모/HA | MSA/모바일 |