컴퓨터 네트워크
HTTP/HTTPSHTTP/HTTPS
HTTP(HyperText Transfer Protocol)는 웹 브라우저와 서버 간 데이터를 주고받는 응용 계층 프로토콜이다. HTTPS(HTTP Secure)는 HTTP에 SSL/TLS 암호화를 더해 보안을 강화한 버전이다. 현재 인터넷 웹 통신의 표준이다.
HTTP 요청/응답 구조
요청 (Request)
응답 (Response)
HTTP 메서드
| 메서드 | 용도 | 멱등성 |
|---|---|---|
| GET | 리소스 조회 | ✓ |
| POST | 리소스 생성 | ✗ |
| PUT | 리소스 전체 수정 | ✓ |
| PATCH | 리소스 부분 수정 | ✗ |
| DELETE | 리소스 삭제 | ✓ |
| HEAD | 헤더만 조회 | ✓ |
| OPTIONS | 지원 메서드 확인 | ✓ |
HTTP 상태 코드
| 범위 | 의미 | 예시 |
|---|---|---|
| 2xx | 성공 | 200 OK, 201 Created, 204 No Content |
| 3xx | 리다이렉트 | 301 Moved, 302 Found, 304 Not Modified |
| 4xx | 클라이언트 오류 | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | 서버 오류 | 500 Internal Server Error, 503 Service Unavailable |
HTTP 버전 비교
| 버전 | 특징 | 전송 프로토콜 |
|---|---|---|
| HTTP/1.0 | 요청마다 새 연결 | TCP |
| HTTP/1.1 | Keep-Alive, 파이프라이닝 | TCP |
| HTTP/2 | 멀티플렉싱, 헤더 압축, 서버 푸시 | TCP |
| HTTP/3 | 더 빠른 연결 수립, 패킷 손실 개선 | UDP (QUIC) |
HTTPS 동작 원리
HTTPS는 SSL/TLS 핸드셰이크로 암호화 채널을 먼저 수립한 뒤 HTTP를 전송한다.
| 항목 | HTTP | HTTPS |
|---|---|---|
| 포트 | 80 | 443 |
| 암호화 | 없음 | SSL/TLS |
| 인증서 | 불필요 | CA 인증서 필요 |
| SEO | 불리 | 유리 (구글 가산점) |
REST API
HTTP를 기반으로 한 API 설계 원칙.
쿠키와 세션
관련 개념
- •TCP/IP — HTTP가 동작하는 전송 계층
- •UDP — HTTP/3(QUIC)의 전송 계층
- •SSL/TLS — HTTPS 암호화 계층
- •네트워크 — 컴퓨터 네트워크 전반
- •P2P — HTTP와 대비되는 탈중앙 통신
참고문헌
- •Fielding, R. (2000). Architectural Styles and the Design of Network-based Software Architectures (REST 논문)
- •RFC 2616 — HTTP/1.1, RFC 7540 — HTTP/2, RFC 9114 — HTTP/3
- •MDN Web Docs: HTTP