• 0
  • 2
February 03, 2025

HTTP & RESTful AP

답변 확인

1. HTTP란?

HTTP (HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜은 웹 상에서 클라이언트와 서버 간 데이터를 주고받는 데 사용되는 통신 규약입니다. 즉, 웹 브라우저(클라이언트) 가 서버에 요청(Request)을 보내고, 웹 서버가 이에 대한 응답(Response)을 반환하는 방식으로 동작

HTTP의 주요 특징

특징 설명
비연결성 (Stateless) 각 요청-응답이 독립적으로 처리되며, 연결이 유지되지 않음.
무상태성 (Stateless) 서버는 클라이언트의 상태를 저장하지 않으며, 모든 요청은 독립적.
TCP 기반 통신 데이터를 안전하게 전송하기 위해 TCP 연결 사용.
다양한 데이터 전달 HTML, JSON, 이미지, 동영상 등 다양한 데이터 포맷을 전달 가능.
확장성 HTTP 헤더를 통해 쿠키, 인증, 캐시 등 기능 확장 가능.

2. HTTP의 동작 방식

  1. 클라이언트가 요청(Request)을 보냄
  • 사용자가 https://example.com에 접속하면 브라우저가 서버로 HTTP 요청 전송
  1. 서버가 응답 (Response)을 반환
  • 예 : 서버는 요청을 처리하고 HTML, JSON 등의 데이터를 반환
  1. 브라우저가 응답을 렌더링
  • 받은 데이터를 화면에 표시.

HTTP 요청 & 응답

[Client] --- (HTTP 요청) ---> [Server]
[Server] --- (HTTP 응답) ---> [Client]
  • 요청 (GET 요청)
GET /index.html HTTP/1.1
Host: example.com
  • 응답 (서버 응답)
HTTP/1.1 200 OK
Content-Type: text/html
 
<html>
  <body>Hello, World!</body>
</html>

3. HTTP 메서드

  • HTTP 메서드는 클라이언트가 서버에 요청을 보낼 때 수행할 작업
  • RESTful API에서 자원(Resource) 조작을 위해 사용됨
메서드 설명 사용 사례
GET 데이터를 조회하는 요청 페이지 로드, API 조회
POST 데이터를 생성하는 요청 회원가입, 글 작성
PUT 기존 데이터를 수정하는 요청 프로필 수정
DELETE 데이터를 삭제하는 요청 게시글 삭제

4. HTTP 상태 코드

  • 서버가 클라이언트의 요청을 처리한 결과를 나타내는 코드
상태 코드 의미 설명
200 OK 요청 성공
301 Moved Permanently 영구적으로 이동됨 (리다이렉트)
400 Bad Request 잘못된 요청
401 Unauthorized 인증 필요
404 Not Found 요청한 리소스를 찾을 수 없음
500 Internal Server Error 서버 내부 오류

5. HTTPS와 HTTP 차이

특징 HTTP HTTPS (보안 적용)
보안 암호화 X, 데이터 평문 전송 SSL/TLS 암호화 적용
사용 포트 80 443
속도 빠름 암호화로 인해 약간 느림
신뢰성 데이터 위변조 위험 보안 인증서(SSL) 사용

✅ HTTPS는 로그인, 결제 등 보안이 중요한 서비스에서 필수

6. RESTful API란?

  • RESTful API는 REST(Representational State Transfer) 원칙을 따르는 API를 의미
  • HTTP를 기반으로 클라이언트와 서버 간 데이터를 주고받는 구조를 정의하는 방식

쉽게 설명하면

  • 웹사이트 주소(URI)를 통해 원하는 정보(리소스)를 요청하고,
  • 요청에 따라 서버가 적절한 응답을 보내는 방식입니다.
  • 그리고 GET, POST, PUT, DELETE 같은 HTTP 메서드를 사용해 정보를 조회, 생성, 수정, 삭제할 수 있습니다.

Rest 원칙

원칙 설명
클라이언트-서버 분리 클라이언트와 서버의 역할을 분리하여 독립적인 개발 가능.
무상태성 서버는 클라이언트의 상태를 저장하지 않으며, 각 요청은 독립적으로 처리됨.
리소스 기반 URI를 통해 특정 리소스를 명확하게 식별.
일관된 인터페이스 HTTP 메서드(GET, POST, PUT, DELETE)를 활용한 표준화된 요청.
캐시 가능성 API 응답을 캐싱하여 성능 개선 가능.

RESTful API를 사용하면 좋은 점

  1. 주소(URI)만 보면 어떤 데이터를 주고받는지 직관적으로 이해 가능
  2. 일관된 방식(GET은 조회, POST는 생성)으로 API를 설계할 수 있음
  3. 서버와 클라이언트가 독립적으로 개발 가능 📌 즉, RESTful API는 "웹에서 정보를 주고받는 표준화된 방법"

결론

1️. HTTP는 웹에서 데이터를 주고받는 프로토콜

  • 클라이언트(브라우저)와 서버가 요청(Request)과 응답(Response) 방식으로 통신
  • 비연결성, 무상태성 특징을 가지며 다양한 데이터 형식 전송 가능

2️. HTTP 메서드 & 상태 코드 활용

  • GET: 조회, POST: 생성, PUT: 수정, DELETE: 삭제
  • 상태 코드로 요청 결과(200 OK, 404 Not Found, 500 Server Error 등)를 확인

3️. HTTPS는 보안이 강화된 HTTP

  • SSL/TLS 암호화 적용으로 데이터 보호 & 신뢰성 확보
  • 로그인, 결제 같은 민감한 데이터 처리에 필수

4️. RESTful API는 HTTP 기반의 표준화된 API 설계 방식

  • URI + HTTP 메서드 조합으로 직관적인 리소스 관리
  • 클라이언트-서버 분리, 무상태성, 일관된 인터페이스 유지

📌 즉, HTTP는 웹 통신의 기본, HTTPS는 보안 강화를 위한 필수 요소, RESTful API는 데이터를 표준화하여 주고받는 방식

참고 자료

Top comments (2)

  • DavidYang2월 19일

    우와 댓글이다~

  • Olivia2월 19일

    오오 ~~ :) 너무 글 좋네용