HTTP(HyperText Transfer Protocol)는 **웹에서 클라이언트와 서버가 데이터를 주고받는 규약(프로토콜)**이다. 브라우저가 서버에 페이지를 요청하고, 서버가 HTML·이미지·JSON 같은 데이터를 응답하는 과정은 모두 HTTP를 통해 이루어진다. 기본적으로 비연결성(connectionless), 무상태성(stateless) 특성을 가진다. 즉, 요청-응답이 끝나면 연결은 바로 끊기고, 서버는 이전 요청 상태를 기억하지 않는다. 이를 보완하기 위해 쿠키·세션·토큰 같은 기술이 사용된다.
HTTP 요청 구조
HTTP 요청은 다음과 같은 요소로 구성된다.
- 요청 라인: 메서드(GET, POST, PUT, DELETE 등), 요청 경로, HTTP 버전
- 예: GET /index.html HTTP/1.1
- 헤더(Header): 브라우저 정보(User-Agent), 인증 토큰, 쿠키, 데이터 형식 등 메타데이터
- 본문(Body): 주로 POST나 PUT 요청에서 데이터(payload)를 담는다.
HTTP 응답 구조
서버는 요청을 처리한 후 다음과 같이 응답한다.
- 상태 라인: HTTP 버전, 상태 코드(200 OK, 404 Not Found 등), 메시지
- 헤더(Header): 콘텐츠 타입(Content-Type), 캐시 정책(Cache-Control), 쿠키 등
- 본문(Body): 실제 데이터(HTML, JSON, 파일 등)
주요 특징
- 무상태(Stateless): 요청 간 상태를 저장하지 않아 확장성이 높다.
- 확장성: 단순한 규약이므로 다양한 데이터 타입 전송 가능.
- 버전 변화:
- HTTP/1.1 → 가장 널리 사용, 요청마다 연결
- HTTP/2 → 다중화(Multiplexing)로 성능 향상
- HTTP/3 → QUIC 기반으로 지연 시간 단축, 모바일 환경 최적화
'CSE > 공부' 카테고리의 다른 글
| [HTTP 웹 기본 지식] 5. HTTP 메서드 활용 (1) | 2025.08.19 |
|---|---|
| [HTTP 웹 기본 지식] 4. HTTP 메서드 (0) | 2025.08.19 |
| [HTTP 웹 기본 지식] 2. URI와 웹 브라우저 요청 흐름 (1) | 2025.08.19 |
| [HTTP 웹 기본 지식] 1. 인터넷 네트워크 (2) | 2025.07.31 |
| README 파일 작성 (0) | 2025.02.10 |