3. HTTP란 무엇일까?

2026. 2. 9. 20:27·BackEnd/내일배움캠프

HTTP란?

HTTP(HyperText Transfer Protocol) 는
데이터를 주고받는 양식을 정의한 통신 규약 중 하나이다.

통신 규약이란?

  • 컴퓨터와 컴퓨터가 데이터를 주고받을 때
  • 미리 정해둔 약속(규칙)

즉, HTTP는

"웹에서 데이터를 어떻게 요청하고, 어떻게 응답할지"를 정해둔 약속
이라고 이해하면 된다.


브라우저와 서버의 HTTP 통신 흐름

  1. 브라우저는 서버에
    • 특정 페이지
    • 혹은 데이터
      를 요청한다
  2. 서버는
    • 요청한 페이지나 데이터가 존재하는지 확인
    • 존재한다면 해당 데이터를 HTTP Response에 담아 전송
  3. 브라우저는
    • 서버로부터 전달받은 데이터를 기반으로
    • 화면에 웹 페이지를 그려준다

개발자 도구(Network 탭)

브라우저에서 실제 HTTP 통신을 확인할 수 있다.

Network 탭 여는 방법

  • Command + Option + I (Mac)
  • 개발자 도구 열기 → Network 탭
  • 새로고침

그러면:

  • 수많은 HTTP 요청(Request)과 응답(Response)이 오가는 것을 확인할 수 있다.

이를 통해 요청이 정상적으로 들어오는지, 응답이 올바른지를 직접 확인할 수 있다.


Headers 탭

Headers 탭에서는
브라우저가 서버에 보낸 요청(Request) 정보를 확인할 수 있다.

확인 가능한 주요 정보:

  • Request Method (GET, POST 등)
  • Status Code
  • 요청 URL
  • 요청/응답 헤더 정보

HTTP Status Code

200번대

  • 요청 성공
  • 서버가 요청을 정상적으로 처리함

300번대

  • 클라이언트가 추가적인 조치 필요
  • 주로 페이지 이동(Redirection)

400번대

  • 클라이언트 오류
  • 잘못된 요청
  • 인증/권한 오류
  • 요청한 데이터를 서버에서 찾을 수 없음

500번대

  • 서버 오류
  • 서버 내부 로직 문제
  • 서버 과부하

400번대는 요청 문제, 500번대는 서버 문제라고 구분하면 쉽다.


Response 탭

Response 탭에서는
서버가 브라우저로 반환한 데이터를 확인할 수 있다.

이 데이터는:

  • 웹 페이지를 그리기 위한 HTML
  • 또는 JSON 형태의 데이터

등이 될 수 있다.


Header와 Payload의 차이

HTTP 메시지는 크게 두 부분으로 나뉜다.

Header (메타 데이터)

  • 실제 데이터에 대한 설명 정보
  • 예:
    • 브라우저가 어떤 페이지를 원하는지
    • 서버가 요청을 성공적으로 처리했는지
    • 어떤 형식(Content-Type)으로 데이터를 보낼지

"데이터에 대한 데이터"라고 볼 수 있다.


Payload (실제 데이터)

  • 실제 전달되는 데이터
  • HTTP Body와 같은 의미

예:

  • 회원가입 정보
  • 로그인 정보
  • JSON 데이터

HTTP Method와 Payload

  • GET
    • 구조적으로 HTTP Body가 존재하지 않음
    • Payload를 보낼 수 없음
  • POST / PUT / DELETE 등
    • HTTP Body 존재
    • Payload 전송 가능

데이터를 서버로 전달해야 하는 경우에는
GET이 아닌 Method를 사용한다.


정리

  • HTTP는 웹에서 데이터를 주고받기 위한 통신 규약이다
  • 브라우저와 서버는 HTTP Request / Response로 통신한다
  • 개발자 도구(Network 탭)를 통해 실제 통신을 확인할 수 있다
  • Header는 메타 데이터, Payload는 실제 데이터다
  • Status Code를 통해 요청 성공/실패 원인을 파악할 수 있다

'BackEnd > 내일배움캠프' 카테고리의 다른 글

6. MVC 디자인 패턴이란?  (0) 2026.02.09
5. Lombok이란?  (0) 2026.02.09
4. 테스트코드  (0) 2026.02.09
2. 서버란 무엇일까?  (0) 2026.02.09
1. 그레이들(Gradle)이란 무엇일까?  (0) 2026.02.09
'BackEnd/내일배움캠프' 카테고리의 다른 글
  • 5. Lombok이란?
  • 4. 테스트코드
  • 2. 서버란 무엇일까?
  • 1. 그레이들(Gradle)이란 무엇일까?
JK-LEE98
JK-LEE98
백엔드 개발자
  • JK-LEE98
    JK-LEE98
    JK-LEE98
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 나의 지식 공유 (4)
      • SQL (4)
      • PS (10)
      • BackEnd (32)
        • Java (3)
        • Spring (4)
        • 내일배움캠프 (20)
        • 프로그래머스 데브코스 (5)
      • 건강한 나 되기🍀 (10)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
JK-LEE98
3. HTTP란 무엇일까?
상단으로

티스토리툴바