어플리케이션

HTTP(Hyper Text Transfer Protocol)에 대해 알아보겠습니다.

forward error correction Circle 2025. 8. 4. 08:41
반응형

Ⅰ. 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 프로토콜로 통신

반응형