REST API란 무엇인가? 개념과 주요 HTTP 메서드 쉽게 정리

    이전 글에서 도메인 주소를 IP 주소로 변환해 주는 DNS란 무엇인가에 대해 알아보았습니다. 사용자가 도메인을 통해 웹서버에 접속하는 통로를 이해했다면, 이제 웹 브라우저와 서버, 혹은 서버와 서버가 데이터를 주고받는 표준 통신 규약인 REST API를 이해할 차례입니다.

    현대 웹 애플리케이션과 모바일 앱 개발에서 데이터 교환의 표준으로 자리 잡은 REST API란 무엇인가, 그리고 핵심 요소인 RESTful의 특징과 주요 HTTP 메서드까지 구글 SEO 가이드라인에 맞추어 알기 쉽게 정리해 드립니다.


    목차

    1. REST API란 무엇인가? (개념 및 정의)
    2. REST의 3가지 핵심 구성 요소
    3. 주요 HTTP 메서드 5가지 정리
    4. RESTful API의 특징과 설계 규칙
    5. 결론 및 요약

    1. REST API란 무엇인가? (개념 및 정의)

    REST API란 무엇인가를 이해하기 위해 먼저 API와 REST의 용어를 분리해서 살펴보겠습니다.

    • API (Application Programming Interface): 서로 다른 소프트웨어 애플리케이션이 데이터를 주고받으며 소통할 수 있도록 연결해 주는 인터페이스입니다.
    • REST (Representational State Transfer): 자원(Resource)을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 웹 아키텍처 스타일입니다.

    따라서 REST API는 REST라는 아키텍처 규칙을 준수하여 만든 API를 의미하며, 웹의 기존 HTTP 프로토콜을 활용하여 데이터의 생성, 조회, 수정, 삭제를 수행합니다.


    2. REST의 3가지 핵심 구성 요소

    REST API는 다음과 같은 3가지 기본 요소로 명확하게 구성됩니다.

    1. 자원 (Resource / URI): 모든 데이터와 서비스를 고유한 URL(주소)로 식별합니다. (예: /users, /posts/123)
    2. 행위 (Verb / HTTP Method): 자원에 대한 작업(조회, 추가, 수정, 삭제)을 지정합니다. (GET, POST, PUT, DELETE)
    3. 표현 (Representation): 클라이언트와 서버가 실제로 주고받는 데이터 형태입니다. 최근에는 대부분 JSON 형태를 사용합니다.

    3. 주요 HTTP 메서드 5가지 정리

    REST API의 핵심은 HTTP 메서드를 사용하여 데이터에 대해 어떤 작업을 수행할지 명확히 나타내는 것입니다. 이를 흔히 데이터 관리의 기본 기능인 **CRUD(Create, Read, Update, Delete)**와 매핑하여 설명합니다.

    HTTP 메서드CRUD 매핑역할 및 설명
    GETRead지정한 URI의 자원(데이터)을 조회할 때 사용 (데이터 변경 없음)
    POSTCreate서버에 새로운 자원(데이터)을 생성할 때 사용
    PUTUpdate지정한 자원의 전체를 수정 및 교체할 때 사용
    PATCHUpdate지정한 자원의 일부 내용만 수정할 때 사용
    DELETEDelete지정한 자원을 삭제할 때 사용

    4. RESTful API의 특징과 설계 규칙

    REST 아키텍처 원칙을 충실히 잘 지킨 API를 **’RESTful API’**라고 부릅니다. RESTful한 API를 설계하기 위한 핵심 규칙은 다음과 같습니다.

    REST의 주요 특징

    • 무상태성 (Stateless): 서버는 클라이언트의 상태 정보를 저장하지 않습니다. 각 요청은 독립적으로 처리되어 서버의 부담을 줄입니다.
    • 클라이언트-서버 구조 (Client-Server): 데이터 처리(서버)와 사용자 인터페이스(클라이언트)를 명확히 분리하여 각각 독립적으로 발전할 수 있습니다.
    • 캐시 가능 (Cacheable): HTTP의 기존 캐싱 기능을 활용할 수 있어 서버의 응답 속도와 효율성이 높아집니다.

    URL 작성 시 지켜야 할 주요 규칙

    1. 동사 대신 명사를 사용합니다: /get-user 대신 /users처럼 명사형 주소를 사용합니다.
    2. 소문자를 사용하고 밑줄(_) 대신 하이픈(-)을 사용합니다: 가독성을 확보하고 표준 규격을 따릅니다.
    3. 마지막에 슬래시(/)를 포함하지 않습니다: 깔끔한 URL 구조를 유지합니다.

    5. 결론 및 요약

    웹 인프라 기술은 서로 밀접하게 연결되어 작동합니다.

    • 웹서버와 WAS: 웹 애플리케이션의 구동 환경 제공
    • HTTP HTTPS 차이점: 데이터 전달 채널의 보안성 확보
    • DNS란 무엇인가: 도메인 이름을 실제 서버 IP로 연결
    • REST API: 클라이언트와 서버 간 데이터 소통의 표준 규격

    REST API란 무엇인가를 이해하는 것은 프론트엔드와 백엔드 개발자 간의 원활한 소통은 물론, 웹 기술 전체의 데이터 흐름을 파악하는 데 필수적인 기초가 됩니다.

    다음 글에서는 웹 브라우저에서 스크립트로 다른 도메인의 자원을 요청할 때 자주 발생하는 **CORS 에러란 무엇인가?**와 해결 방법에 대해 알아보겠습니다.

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

    광고보고 콘텐츠 계속 읽기
    원치않으시면 뒤로가기를 해주세요

    광고 차단 알림

    광고 클릭 제한을 초과하여 광고가 차단되었습니다.

    단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.

    광고보고 콘텐츠 계속 읽기
    원치않으시면 뒤로가기를 해주세요