ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

HTTP(HyperText Transfer Protocol)

 

정의

웹 통신의 표준 프로토콜

클라이언트(보통 브라우저)와 서버 간에 데이터를 주고받기 위한 표준 통신 규약입니다.

웹에서 데이터를 주고받기 위해 사용되는 애플리케이션 계층의 프로토콜입니다. 텍스트, 이미지, JSON 등 다양한 자원을 전송하는 데 사용되며, 인터넷의 핵심 기반입니다.

웹에서 HTML 문서, 이미지, JSON, 텍스트 등 다양한 리소스를 요청하고 응답하는 기본 기반이며, 인터넷의 핵심 프로토콜 중 하나로 사용됩니다.

장점

서버 리소스를 아끼고 응답 속도 향상시킵니다.

💡 네트워크 대역폭 절감

응답 본문 없이 받아올 수 있어 대용량 리소스(예: 이미지, PDF, 영상 등)에 대해 정보만 얻고자 할 때 효율적입니다.

 

💡 리소스 존재 여부 확인

상태 코드를 통해 리소스의 존재 유무만 확인할 수 있어, 다운로드 없이 검사가 가능합니다.

링크 유효성 검사, API 정상 작동 여부 확인 등에 활용됩니다.

 

💡 캐시 유효성 검증

헤더를 통해 클라이언트는 로컬 캐시의 최신 여부를 판단할 수 있습니다.

조건부 요청 시 불필요한 데이터 전송 방지

 

💡 성능 테스트 및 모니터링

A/B 테스트나 성능 테스트 도중 실제 데이터 전송 없이 서버 응답 속도를 측정하는 데 유리합니다.

HEAD 안전성 멱등성을 보장해 로그 수집, 모니터링 등에 적합합니다.

단점

웹 통신의 핵심이지만, 완벽하진 않습니다.

💡 무상태성

 매 요청마다 클라이언트 상태 정보가 포함돼야 하는 경우, 서버는 클라이언트를 기억하지 않습니다.

 인증이나 세션 유지 같은 기능을 별도로 구현해야 합니다.

 

💡 보안 취약성

기본 HTTP는 암호화되지 않아 통신 내용이 중간에서 노출될 수 있습니다.

HTTPS를 통해 보안을 강화해야합니다.

 

💡 헤더 오버헤드

요청과 응답에 포함되는 헤더 크기가 클 경우, 불필요한 네트워크 트래픽이 발생할 수 있습니다.

 

💡 실시간 통신에 부적합

요청-응답 방식으로 설계되어, 서버에서 클라이언트로의 실시간 푸시는 어렵습니다.

웹 소켓(WebSocket), SSE(Server Side Event) 같은 기술이 필요합니다.

 

💡 멀티미디어 처리 한계

대용량 파일 전송이나 스트리밍에는 HTTP의 효율이 떨어집니다.

FTP, RTMP와 같은 프로토콜이 대신 사용되는 경우가 많습니다.

 

💡  캐시 관리 어려움

HTTP 자체에 캐시 관련 헤더가 존재하긴 하지만, 클라이언트/프록시/서버 캐시 정책이 복잡하게 얽혀 관리가 어렵습니다


💡 느린 연결 해제와 재연결 비용

HTTP 1.0/1.1에서는 요청마다 TCP 연결을 새로 열고 닫는 구조여서 성능 손실이 큽니다.

HTTP/2, HTTP/3를 통해 개선하였습니다.

메서드

다양한 HTTP 메서드가 존재합니다.
 

메서드(Method)

HTTP(Hyper Text Transfer Protocol) 정의클라이언트가 서버에 요청할 작업의 종류를 정의하는 명령어입니다.리소스를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete)하는 데 사용됩니다.또한 모니터링 및

develop-enchantment.tistory.com

상태코드

상태코드를 통해 통신 상태를 확인할 수 있습니다.
 

HTTP 상태코드

HTTP 정의HTTP 응답에 포함되는 서버의 메시지클라이언트가 보낸 요청에 대해 서버가 어떻게 처리했는지를 숫자로 표현한 응답 메시지입니다.HTTP 상태 코드는 단순한 숫자가 아니라 서버와 클라

develop-enchantment.tistory.com

버전

성능, 보안, 효율성 등을 고려한 개선이 이루어지고 있습니다.
 

HTTP 버전

HTTP(Hyper Text Transfer Protocol) 정의HTTP 프로토콜은 여러 버전이 존재합니다.각 버전은 성능 향상, 연결 방식 개선, 보안 및 효율성 개선을 목표로 발전해왔습니다.종류버전별로 특징이 있습니다. HTTP

develop-enchantment.tistory.com


 

728x90