HTTP
HTTP는 브라우저와 웹 서버가 요청과 응답을 주고받는 대화 규칙이에요. 응답마다 200·404 같은 상태 코드가 붙고, 버전은 1.1·2·3이 함께 쓰여요.
목차 보기
HTTP는 브라우저와 웹 서버가 웹 페이지를 주고받을 때 쓰는 대화 규칙이에요. 식당에 빗대면 손님(브라우저)이 주문서(요청)를 내고, 주방(서버)이 음식과 영수증(응답)을 내주는 약속이에요. 주소창의 http:// 가 바로 이 규칙을 쓰겠다는 표시예요.
읽기 전에 알아 둘 말 3개
- 요청 — 브라우저가 서버에 "이거 주세요" 하고 보내는 메시지예요.
- 응답 — 서버가 결과 숫자와 내용을 담아 돌려주는 메시지예요.
- 헤더 — 요청·응답 맨 앞에 붙는 부가 정보 줄이에요. 택배 상자의 송장과 비슷해요.
HTTP는 어떻게 동작하나요?
HTTP는 늘 한 쌍으로 움직여요. 브라우저가 먼저 요청을 보내고, 서버가 응답을 돌려줘요. 기본 규칙에서는 서버가 먼저 말을 걸지 않아요. 채팅 알림처럼 서버가 먼저 보내야 하는 일은 웹소켓 같은 다른 방법을 같이 써요.
페이지 하나를 열 때도 이 대화가 여러 번 오가요. HTML 문서, 그림, 글꼴, 스크립트를 하나씩 따로 요청하기 때문이에요.
또 HTTP 규칙 자체는 앞선 대화를 기억하지 않아요. 요청 하나하나가 처음 만난 손님처럼 처리돼요. 이를 무상태(stateless)라고 해요. 그래서 로그인 상태 같은 건 쿠키나 세션으로 따로 이어 붙여요. 브라우저가 요청마다 쿠키를 같이 보내면, 서버가 그걸 보고 누구인지 알아봐요.
요청에는 무엇이 들어가나요?
요청 첫 줄에는 "무엇을 할지(메서드) · 어디에(경로) · 어떤 버전으로"가 들어가요. 그 아래에 헤더가 붙고, 필요하면 본문이 따라와요.
| 메서드 | 뜻 | 예 |
|---|---|---|
| GET | 가져오기 | 페이지 열기, 검색 결과 보기 |
| POST | 보내기·만들기 | 회원 가입, 글 쓰기 |
| PUT·PATCH | 고치기 | 프로필 수정 |
| DELETE | 지우기 | 글 삭제 |
| HEAD | 내용 빼고 헤더만 받기 | 파일이 바뀌었는지 확인 |
앱끼리 데이터를 주고받는 API도 대부분 이 메서드를 그대로 써요. 이 방식을 정리한 게 REST API예요.
상태 코드는 무슨 뜻이에요?
응답 첫 줄에는 세 자리 숫자가 붙어요. 첫 자리만 봐도 결과를 대강 알 수 있어요.
| 묶음 | 뜻 | 자주 보는 코드 |
|---|---|---|
| 1xx | 처리 중이에요 | 101(프로토콜 바꾸기) |
| 2xx | 성공했어요 | 200 OK |
| 3xx | 다른 곳으로 가세요 | 301·308(영구 이동), 302·307(잠시 이동) |
| 4xx | 요청한 쪽 문제예요 | 403(권한 없음), 404(없는 페이지) |
| 5xx | 서버 쪽 문제예요 | 500(서버 오류), 502(중간 서버 오류) |
301과 308은 둘 다 "주소가 영영 바뀌었다"는 뜻이에요. 차이는 308이 원래 요청 방식(POST 등)과 내용을 그대로 유지하게 한다는 점이에요. 301은 브라우저가 POST를 GET으로 바꿔 다시 요청해도 되게 열어 두었어요.
HTTP 버전은 뭐가 달라요?
규칙의 큰 뜻은 그대로예요. 버전이 오르면서 바뀐 건 "얼마나 빨리, 한 번에 많이" 나르느냐예요.
| 버전 | 나온 해 | 특징 |
|---|---|---|
| HTTP/1.1 | 1997년 | 사람이 읽을 수 있는 글자로 주고받아요. 연결 하나에서 요청을 차례로 처리해요. |
| HTTP/2 | 2015년 | 연결 하나로 여러 요청을 동시에 처리해요. 헤더를 압축해요. |
| HTTP/3 | 2022년 | QUIC(UDP 기반) 위에서 동작해요. 연결이 빨리 열리고 끊김에 강해요. |
여기에 암호화를 더한 게 HTTPS예요. 요즘 사이트는 대부분 HTTPS 위에서 HTTP/2나 HTTP/3로 대화해요.
직접 확인해 보기
2026년 10월 29일 밤, 서울 사무실 PC(윈도우 11의 리눅스 환경, curl 8.5.0)에서 curl 명령으로 우리 사이트(futureinfra.ai)와 HTTP 대화를 해 봤어요. -v 를 붙이면 오간 메시지를 그대로 볼 수 있어요.
$ curl -v http://futureinfra.ai/ -o /dev/null
> GET / HTTP/1.1
> Host: futureinfra.ai
> User-Agent: curl/8.5.0
> Accept: */*
< HTTP/1.1 308 Permanent Redirect
< Location: https://futureinfra.ai/
< Content-Length: 0
> 줄이 우리가 보낸 요청이고, < 줄이 서버의 응답이에요. 사람이 읽을 수 있는 글자 그대로였어요. 서버는 308 응답에 "https 주소로 가라"는 Location 헤더를 붙여 보냈어요. 본문은 0바이트였어요.
이어서 몇 가지를 더 해 봤어요.
- https 주소에 HTTP/1.1로 요청하면 첫 줄이 "HTTP/1.1 200 OK"로 왔어요.
- 같은 주소에 HTTP/2로 요청하면 "HTTP/2 200"이 왔어요. 헤더 이름도 content-type 처럼 전부 소문자였어요. HTTP/2 규칙이 소문자를 쓰게 해서 그래요.
- 응답에 alt-svc: h3=":443" 줄이 있었어요. "HTTP/3로도 올 수 있다"는 안내예요.
- 없는 주소(/blog/this-page-does-not-exist-test)를 요청하면 404가 왔어요.
자주 하는 오해
- "HTTP는 낡아서 안 써요." HTTPS도 안에서는 HTTP로 대화해요. 바깥을 암호화로 감쌌을 뿐이에요.
- "404는 서버가 고장 난 거예요." 서버는 멀쩡하고, 그 주소에 페이지가 없다는 뜻이에요. 서버 고장은 5xx예요.
- "HTTP/3로 바꾸면 무조건 몇 배 빨라져요." 끊김이 잦은 모바일 망에서 더 도움이 돼요. 페이지가 무겁다면 그림 크기부터 줄이는 게 먼저예요.
퓨쳐인프라에서는
가상서버를 만들면 주소와 HTTPS 인증서가 자동으로 붙어요. 서버 기본 방화벽은 처음에 다 닫혀 있어요. 웹 서비스라면 80(HTTP)·443(HTTPS) 포트를 열면 돼요.
서버 설정이 부담스럽다면 앱으로 시작해도 돼요. 도커 이미지 하나만 올리면 주소와 HTTPS가 자동으로 생겨요(월 5,500원부터, 자세한 값은 요금 페이지). 가입하면 2,000원 크레딧이 있어요.
자주 묻는 질문
HTTP와 HTTPS는 뭐가 달라요?
HTTPS는 HTTP 대화를 TLS 암호화로 감싼 거예요. 기본 포트도 80과 443으로 달라요. 자세한 건 HTTPS 글을 보세요.
내 사이트 상태 코드는 어떻게 봐요?
브라우저에서 F12를 눌러 개발자 도구의 네트워크 탭을 열면 요청마다 상태 코드가 보여요. 명령으로는 curl -I 주소 를 쓰면 돼요.
주소를 옮길 때 301과 308 중 뭘 써요?
일반 페이지 이동이면 둘 다 괜찮아요. 폼 전송이나 API처럼 POST 요청이 오는 주소라면 308이 안전해요.
HTTP는 왜 나를 기억 못 해요?
처음부터 요청 하나에 답 하나로 끝나게 만들어진 규칙이라서 그래요. 그래서 로그인 상태는 쿠키와 세션으로 기억해요.
이 글의 확인 출처
- HTTP의 뜻과 메서드·상태 코드 — IETF RFC 9110
- HTTP/2(헤더 소문자 규칙 포함) — IETF RFC 9113
- HTTP/3 — IETF RFC 9114
- 308 Permanent Redirect — MDN 308 문서
- HTTP 버전의 변화 — MDN HTTP의 진화
관련 용어
- 작성: 서순명(솔리드그루 이사 · 퓨쳐인프라 — 국내 IDC 에서 클라우드 서버·앱 호스팅·AI API 를 운영) · 작성일 2026년 10월 29일
- 운영사: 솔리드그루 · 사업자등록번호 875-44-00335 · 서울특별시 구로구 디지털로29길 38, 7층 707호 · 전화 02-6933-6229 · support@futureinfra.ai · 고객센터 · 이용약관
- 한계: 직접 확인은 2026년 10월 29일 서울 사무실 PC에서 futureinfra.ai 한 곳에 curl로 요청을 보내 본 것이에요. HTTP/3 연결은 응답 헤더의 안내만 확인했어요.
- 이해관계: 퓨쳐인프라는 이 글을 쓴 회사의 서비스이고, 글 안에 가상서버와 앱 안내가 들어 있어요.
연관 서비스
많이 본 글
-
블로그
무료 도메인 사이트 추천 2026 — 내도메인.한국·DuckDNS 발급 방법
내도메인.한국·DuckDNS 처럼 계속 무료인 주소 10곳을 11월 3일 서울에서 다시 재고(6곳 6ms 안), 발급 순서·구글·네이버 무료 주소·'첫해 무료'의 2년째 값까지 정리했어요. -
블로그
도메인 구매 사이트 추천 2026 — 가비아·후이즈 등 15곳 갱신·이전비 비교
같은 .co.kr 도 등록업체 15곳의 3년 값이 3.8만~8.6만 원이에요(11월 3일 KRNIC 표). 갱신가·이전비·해외 업체 조건, 11월 인상 뒤 가비아 실제 화면, 구매처 확인과 기관이전까지 정리했어요. -
블로그
클로드 MCP·Gemini MCP 연동 방법 2026, MCP 서버 9곳
클로드 MCP(데스크톱·Claude Code)와 Gemini MCP 연동(Gemini CLI·안티그래비티·Gemini 앱·API) 등 9곳의 MCP 서버 연결법을 공식 문서로 정리했어요. 원격 57ms 실측과 오류 해결까지. -
블로그
Gemini 3.9 Flash 나왔나요? 지금 최신은 3.8 Flash — 3.7과 직접 잰 속도·비용
2026년 9월 22일 기준 Gemini 3.9 Flash는 미출시입니다. 최신 3.8 Flash의 사양·가격(2027년 2배 인상)과, 3.7 Flash와 같은 과제로 직접 잰 속도·비용·JSON 형식 준수 차이를 정리했습니다. -
블로그
서버비 한 달 얼마? 방문자 10만 명도 월 3만 2천 원(2026 계산)
월 방문자 1천·1만 명은 1만 4천 원, 10만 명은 3만 2천 원이에요. 요금제별 트래픽 기본 제공량까지 넣어 다시 계산하고 AWS·카페24·가비아·네이버클라우드 값과 숨은 비용을 비교했어요(2026-10-26 확인).
댓글 0
로그인하면 댓글을 남길 수 있습니다.