HTTP / HTTPS - 2

CorinBeom·2025년 10월 8일
0

CS

목록 보기
20/22


이번 게시글에서는 HTTP에 대해서 더욱 자세하게 다뤄보겠다.

🌐 HTTP란 무엇인가

HTTP (Hypertext Transfer Protocol)
웹 상에서 클라이언트(브라우저)서버 간 데이터를 주고받는 통신 규약

쉽게 말해, 사용자가 웹페이지를 요청하면 서버가 HTML, CSS, JSON 같은 데이터를 보내주는 약속된 방식


⚙️ HTTP의 기본 동작 방식

HTTP는 요청(Request)응답(Response) 으로 이루어진다.

  1. 클라이언트(브라우저) → 서버로 요청을 보냄
    예: “/users 정보를 보여줘!”
  2. 서버 → 요청을 처리하고 응답을 반환
    예: 사용자 목록(JSON 형식)을 반환

이처럼 한 번의 요청과 응답으로 통신이 끝나기 때문에
HTTP는 비연결성(Stateless)을 특징으로 한다.

즉, 이전 요청의 상태를 서버가 기억하지 않음


📦 HTTP가 전달하는 데이터

HTTP는 단순한 텍스트뿐만 아니라 다양한 포맷을 전달할 수 있다
예를 들어:

  • HTML (웹페이지 구조)
  • CSS (스타일)
  • JavaScript (동작)
  • JSON / XML (API 응답 데이터)

요청과 응답에는 다음과 같은 정보가 포함:

구분설명
URL요청 경로 (예: /users/1)
메서드(Method)요청의 목적 (GET, POST, PUT, DELETE 등)
헤더(Header)요청/응답에 대한 부가 정보 (ex. Content-Type, Authorization)
상태 코드(Status Code)요청 결과 (200 OK, 404 Not Found, 500 Server Error 등)

🚀 RESTful API란?

HTTP를 기반으로 한 대표적인 설계 방식이 바로 RESTful API이다.

REST (Representational State Transfer)
웹의 리소스(Resource)를 일관된 규칙으로 관리하는 설계 원칙


🧩 RESTful API의 특징

  1. 클라이언트-서버 분리

    • 프론트엔드와 백엔드의 역할을 명확히 분리
    • 예: React(클라이언트) ↔ Spring Boot(서버)
  2. 무상태성 (Stateless)

    • 서버는 클라이언트의 상태를 저장하지 않는다
    • 모든 요청은 독립적으로 처리
  3. 일관된 인터페이스 (Uniform Interface)

    • 리소스를 URI로 식별하고, HTTP 메서드로 행위를 표현
    • 예:
      • GET /users → 사용자 목록 조회
      • POST /users → 새 사용자 등록
      • PUT /users/1 → 사용자 정보 수정
      • DELETE /users/1 → 사용자 삭제
  4. 캐시 가능성 (Cacheable)

    • 서버 응답을 캐싱하여 성능을 높일 수 있다
    • 예: 정적 리소스(이미지, CSS)는 캐싱을 통해 빠르게 로딩

정리

개념설명
HTTP웹 통신의 기본 규약 (요청/응답 기반)
HTTPS암호화된 HTTP (보안 강화)
RESTful APIHTTP를 활용한 리소스 중심 설계 방식
profile
Before Sunrise

0개의 댓글