← 전체 목록
📡

HTTP/HTTPS

프로토콜웹 통신의 공통 언어, 요청-응답 프로토콜

아키텍처 다이어그램

① DNS 조회② TCP 연결③ TLS 핸드셰이크GET /api200 OK🌐Browser📖DNS📦TCP🔒TLS📤HTTP 요청🖥️Server📥HTTP 응답

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

TCP 연결로 서버에 도달했다고 해도, 브라우저와 서버가 서로 다른 방식으로 요청을 표현하면 의미 있는 대화가 불가능합니다. '이 파일 주세요', '이 데이터 저장해 주세요'를 어떻게 표현하고, 결과를 어떻게 돌려줄지 공통 언어가 필요합니다.

안에서 어떻게 동작하나요?

HTTP 요청은 메서드(GET, POST 등), URL(어디에), 헤더(부가 정보), 바디(전달할 데이터)로 구성됩니다. 서버는 상태 코드(200 OK, 404 Not Found 등), 헤더, 바디로 응답합니다. HTTPS는 TCP 연결 후 TLS 핸드셰이크를 먼저 수행해 이후 모든 HTTP 메시지를 암호화합니다.

무엇과 헷갈리나요?

HTTP/1.1과 HTTP/2는 같은 요청-응답 구조를 쓰지만 전송 방식이 다릅니다. HTTP/1.1은 요청마다 연결을 새로 맺거나 직렬로 처리해서 여러 리소스를 로딩할 때 느립니다. HTTP/2는 하나의 연결에서 여러 요청을 병렬로 처리해 페이지 로딩 속도를 크게 개선합니다.

왜 이런 방식이 등장했나요?

웹 초기에는 문서 하나를 요청하고 받는 단순한 텍스트 규약으로 충분했습니다. 동적 애플리케이션, API, 미디어 스트리밍이 늘어나면서 보안(HTTPS), 성능(HTTP/2), 더 낮은 지연(HTTP/3, QUIC 기반)으로 계속 진화했습니다.

언제 쓰나요?

웹 페이지 로딩, REST API, 파일 다운로드, 웹훅 등 인터넷 기반 통신 거의 전부에 쓰입니다. 실시간 양방향 통신이 필요한 경우 HTTP를 WebSocket으로 업그레이드하거나, 서버가 먼저 데이터를 내려보내야 한다면 SSE(Server-Sent Events)를 함께 고려해야 합니다.

웹 페이지 로딩REST API파일 다운로드웹훅