HTTP가 뭐야? 인터넷 통신의 기본 약속 5분 정리
웹사이트 주소가 ‘http://‘나 ‘https://‘로 시작하는 이유는 단순하다. 그 사이트가 어떤 통신 약속을 따르는지를 표시하는 것이다. 그 약속이 바로 HTTP다.

HTTP 한 줄 정의
**HTTP(HyperText Transfer Protocol)**는 웹 브라우저와 서버가 데이터를 주고받을 때 따르는 통신 약속이다.
핵심은 “약속”이다. 서로 모르는 사이라도 같은 약속을 따르면 대화가 가능하다. 한국 식당에서 영어로 주문해도 메뉴 번호로 통하는 것처럼, HTTP는 전 세계 어떤 브라우저·어떤 서버라도 서로 이해할 수 있는 표준 언어다.
이 표준 덕분에 우리가 어떤 운영체제·어떤 브라우저를 써도 거의 모든 웹사이트에 접속할 수 있다. 1991년에 처음 등장한 이 약속이 지금도 모든 웹의 뼈대다.
중학생도 이해하는 비유
HTTP를 가장 쉽게 설명하는 비유는 편지 양식이다.
편지를 쓸 때는 정해진 양식이 있다. 받는 사람 주소는 위, 본문은 가운데, 보내는 사람은 아래. 우체국·집배원·받는 사람 모두 이 양식을 알기 때문에 어떤 편지든 정확히 배달된다.
HTTP가 그 편지 양식이다. 브라우저가 서버에 보낼 때 다음 모양으로 만든다.
GET /posts/llm/ HTTP/1.1
Host: ai-tong-tong.com
User-Agent: Chrome
서버는 이 양식을 보고 “GET 방식으로 /posts/llm/ 페이지를 달라는구나”라고 이해하고, 다시 표준 양식으로 답장한다.
HTTP/1.1 200 OK
Content-Type: text/html
<html>...</html>
200은 “성공”, 404는 “주소 없음” 같은 약속도 다 미리 정해져 있다. 그래서 처음 만난 두 시스템도 막힘 없이 대화가 된다.
자주 마주치는 HTTP 메서드
웹 요청의 거의 모든 동작이 다음 5가지 안에 들어간다.
| 메서드 | 의미 | 예 |
|---|---|---|
| GET | 정보 가져오기 | 페이지 보기, 검색 |
| POST | 정보 보내기·생성 | 회원가입, 글 작성 |
| PUT | 정보 통째로 교체 | 프로필 전체 갱신 |
| PATCH | 정보 일부만 수정 | 닉네임만 변경 |
| DELETE | 정보 삭제 | 글 삭제 |
REST API는 이 메서드를 적극 활용한다. 같은 URL이라도 GET이면 조회, POST면 생성, DELETE면 삭제처럼 동작이 달라진다.
자주 보는 상태 코드
서버 응답에 항상 따라붙는 숫자다. 디버깅의 첫 단서다.
| 코드 | 의미 | 흔한 상황 |
|---|---|---|
| 200 | 성공 | 정상 응답 |
| 301/302 | 리다이렉트 | 다른 URL로 이동 |
| 400 | 잘못된 요청 | 형식 오류 |
| 401 | 인증 필요 | 로그인 안 됨, 토큰 만료 |
| 403 | 권한 없음 | 로그인은 됐지만 접근 불가 |
| 404 | 페이지 없음 | URL 오타, 삭제된 글 |
| 429 | 요청 너무 많음 | API 한도 초과 |
| 500 | 서버 에러 | 서버 내부 문제 |
| 502/503 | 게이트웨이·서비스 불가 | 호스팅 일시 장애 |
AI API에서 자주 보는 건 401(API 키 오류), 429(rate limit), 500(서버 일시 오류)다.
HTTP vs HTTPS
| 항목 | HTTP | HTTPS |
|---|---|---|
| 암호화 | 없음 (평문) | TLS/SSL 암호화 |
| 데이터 도청 | 가능 | 사실상 불가 |
| 브라우저 표시 | ”안전하지 않음” 경고 | 자물쇠 아이콘 |
| 인증서 | 불필요 | 발급 필요 (Let’s Encrypt 등 무료) |
| 속도 | 약간 빠름 | 거의 차이 없음 (HTTP/2·3) |
요즘 사이트는 거의 모두 HTTPS다. AdSense·검색엔진 모두 HTTPS를 우대하기 때문에 사이트 운영 시 사실상 필수다.
AI API에서 HTTP가 어떻게 쓰이나
OpenAI·Anthropic API 호출은 결국 HTTP 요청 한 번이다.
POST https://api.anthropic.com/v1/messages
Authorization: Bearer sk-ant-...
Content-Type: application/json
{
"model": "claude-sonnet-...",
"messages": [...]
}
서버는 답변을 다시 HTTP로 보내준다. 응답 코드가 200이면 정상, 401이면 API 키 오류, 429면 한도 초과다. 모든 SDK·라이브러리가 결국 이 HTTP 호출을 감싸고 있을 뿐이다.
비슷한 용어와 차이
| 용어 | 뜻 | HTTP와의 차이 |
|---|---|---|
| HTTPS | HTTP + TLS 암호화 | 보안 강화 버전 |
| TCP | 더 낮은 계층의 통신 약속 | HTTP가 그 위에서 동작 |
| WebSocket | 양방향 실시간 통신 | HTTP와 다른 약속, 실시간 기능에 사용 |
| API | 프로그램 간 약속 | HTTP는 API의 운반 수단 |
| REST | HTTP를 활용한 API 설계 스타일 | HTTP 위 한 패턴 |
언제 HTTP를 마주치나
- 사이트 디버깅: F12 → Network 탭에서 모든 요청·응답 확인
- API 호출: 코드든 도구든 결국 HTTP 요청
- 에러 메시지: “401 Unauthorized”, “404 Not Found” 등
- 자동화 도구: Zapier·Make의 Webhook이 HTTP POST
- AI 코딩 도구: API 호출 코드 작성 시 HTTP 메서드·헤더 확인
관련 용어
- API: HTTP를 통해 호출하는 약속. API가 뭐야? 참고.
- API 키: HTTP 요청의 Authorization 헤더에 실리는 비밀 문자열. API 키가 뭐야? 참고.
- JSON: HTTP 응답에 가장 많이 쓰이는 데이터 형식.
- CDN·캐시: HTTP 응답을 전 세계에 캐시해 빠르게 응답. 캐시가 뭐야? 참고.
HTTP는 “웹 브라우저와 서버가 따르는 통신 약속”이다. 같은 약속을 쓰기 때문에 어떤 운영체제·어떤 브라우저든 어떤 서버에든 접근할 수 있다. AI API·자동화·디버깅까지 인터넷 위 거의 모든 작업의 뼈대가 HTTP다. HTTPS는 거기에 암호화 한 겹을 더한 것이고, 요즘은 사실상 표준이다.
출처
- MDN, HTTP 개요, https://developer.mozilla.org/docs/Web/HTTP
- Cloudflare, HTTP·HTTPS 가이드, https://www.cloudflare.com/learning/ssl/why-is-http-not-secure/
- IETF, HTTP/3 표준 RFC 9114, https://datatracker.ietf.org/doc/html/rfc9114