Ⅰ. HTTP(Hyper Text Transfer Protocol) 란?
월드 와이드 웹(WWW)의 기반이 되는 애플리케이션 계층 프로토콜로, 웹 브라우저(클라이언트)와 웹 서버 간 요청(Request)과 응답(Response)을 통해 데이터를 주고받습니다. 1991년 팀 버너스 리가 처음 제안한 이래로, 웹의 성장과 함께 지속적으로 발전해 왔습니다.
Ⅱ. HTTP(Hyper Text Transfer Protocol) 동작 원리
HTTP 통신은 다음과 같은 단계로 이루어집니다:
1) DNS 조회: 도메인명을 IP 주소로 변환
2) TCP 연결 설정: 서버와 안정적 연결 수립
3) HTTP 요청 전송: 클라이언트가 서버에 리소스 요청
4) 서버 처리: 요청 분석 후 적절한 리소스 준비
5) HTTP 응답 전송: 요청한 데이터 전송
6) 렌더링: 브라우저가 응답을 화면에 표시
※ HTTP는 TCP/IP 위에서 동작하며, OSI 7계층 중 애플리케이션 계층에 속합니다.
Ⅲ. HTTP(Hyper Text Transfer Protocol) 주요 특징
| 특징 | 설명 | 장점 | 단점 |
| 무상태성 (Stateless) | 각 요청은 독립적으로 처리되며, 서버는 이전 요청의 상태를 기억하지 않음 | 서버 확장성 향상 | 쿠키, 세션, 토큰 등을 별도로 활용 |
| 비연결성 (Connectionless) | 기본적으로 요청-응답 완료 후 연결 종료 | 자원 효율성 | 반복 요청 시 오버헤드 발생 |
Ⅳ. HTTP(Hyper Text Transfer Protocol) 주요 메서드
| 메서드 | 설명 |
| GET | 리소스 조회 |
| POST | 데이터 전송 및 리소스 생성 |
| PUT | 리소스 전체 수정 |
| DELETE | 리소스 삭제 |
| PATCH | 리소스 부분 수정 |
| HEAD | 헤더 정보만 조회 |
| OPTIONS | 지원 메서드 확인 |
Ⅴ. HTTP(Hyper Text Transfer Protocol) 버전별 발전
| HTTP 버전 | 개발년도 | 설명 |
| HTTP/1.0 | 1996 | 1) 기본적인 요청/응답 구조 도입 2) 요청마다 새 연결 필요 3) 헤더/바디 분리 구조 적용 |
| HTTP/1.1 | 1997 | 1) 지속 연결(Persistent Connection) 지원 2) 파이프라이닝으로 연속 요청 가능 3) Host 헤더 도입 → 가상 호스팅 가능 단점 : HOL(Head-of-Line) Blocking 문제 존재 |
| HTTP/2 | 2015 | 1) 멀티플렉싱으로 하나의 연결에 여러 요청 동시 처리 2) 텍스트 대신 바이너리 프레이밍 적용 3) 서버 푸시로 필요 리소스 선제 전송 4) 헤더 압축(HPACK)으로 효율 개선 |
| HTTP/3 | 2022 | 1) QUIC 프로토콜 기반 → TCP 대신 UDP 사용 2) 연결 지연 최소화: 0-RTT 연결 지원 3) 패킷 손실 복구 성능 향상 4) 이동성 및 보안성 강화 |
Ⅵ. HTTP(Hyper Text Transfer Protocol) 장·단점
| HTTP(Hyper Text Transfer Protocol) | |
| 장점 | 1) 단순하고 직관적인 구조 2) 무상태성 기반의 높은 확장성 3) 다양한 데이터 타입 전송 가능 4) 브라우저 캐싱 등 내장 최적화 기능 5) 전 세계 표준으로 광범위한 호환성 보유 |
| 단점 | 1) 기본적으로 암호화되지 않은 평문 전송 2) 상태 관리 복잡 (세션/쿠키/토큰 필요) 3) 매 요청마다 연결 비용 발생 가능 4) 실시간 쌍방향 통신에는 부적합 |
Ⅶ. HTTP(Hyper Text Transfer Protocol) 요청/응답 구조
ⅰ. 요청(Request)
| GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Body는 선택사항) |
ⅱ. 응답(Response)
| HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1024 ... <HTML>...</HTML> |
ⅲ. 상태 코드 예시
| 상태코드 값 | 설명 |
| 200 | 성공 |
| 404 | 페이지 없음 |
| 500 | 서버 오류 |
Ⅷ. HTTPS와의 차이점
HTTPS는 HTTP에 보안 계층(SSL/TLS)을 추가한 버전으로, 아래와 같은 개선점을 제공합니다:
ⅰ. 암호화: 평문이 아닌 암호화된 데이터 전송
ⅱ. 인증: 서버 신원 검증을 통한 신뢰성 확보
ⅲ. 무결성: 전송 중 데이터 변경 방지
ⅳ. SEO 이점: 구글 등 검색 엔진에서 우대
ⅴ. 성능 향상: HTTP/2와 결합 시 더 빠른 응답
Ⅸ. HTTP(Hyper Text Transfer Protocol) 활용 사례
ⅰ. 웹 브라우징: 페이지 로딩, 이미지, 영상 등
ⅱ. API 통신: RESTful API, JSON 기반 데이터 교환
ⅲ. 웹 서비스: SOAP, GraphQL 등 다양한 데이터 서비스
ⅳ. 모바일 앱: 서버와의 동기/비동기 통신
ⅴ. IoT 기기: 경량화된 HTTP 프로토콜로 통신
'어플리케이션' 카테고리의 다른 글
| SAML(Security Assertion Markup Language)에 대해 알아보겠습니다. (2) | 2025.08.15 |
|---|---|
| 웹 소켓(Web Socket) 에 대해 알아보겠습니다. (1) | 2025.08.08 |
| 가비지 컬렉션(Garbage Collection, GC)에 대해 알아보겠습니다. (2) | 2025.07.28 |
| 자바 개발을 위한 SQL 매퍼 프레임워크인 MyBatis 에 대해 알아보겠습니다. (1) | 2025.07.07 |
| 큐싱(Qshing)에 대해 알아보겠습니다. (0) | 2025.06.25 |