기술면접 — REST & RESTful

What(정의)와 WHY(왜)를 중심으로 공부하기 — 네트워크(2)

SoniaComp
2 min readApr 9, 2021

웹 통신의 4요소

  1. HTML
  2. URL
  3. Web Server, Web Client
  4. HTTP

REST

WHAT

  • Representational State Transfer
  • 설계 기본 규칙으로
    1. URL를 통해 자원을 명시하고
    2. HTTP method(GET, POST, PUT, DELETE)를 통해 자원을 처리하도록
    설계
    아키텍처
  • 구성: URI, HTTP Method, Payload(HTTP Request에서 보내는 데이터)
  • RESTful: REST 아키텍처를 구현하는 웹 서비스를 나타내는 것

WHY

  • Self-Descriptiveness(자체 표현 구조): RESTful API 그 자체만으로 API의 목적이 쉽게 이해가 간다.
  • 웹의 장점을 최대한 활용할 수 있는 Client와 Server 간 통신 방식 중 하나
    → 웹: 인터넷 상에서 텍스트나 멀티미디어 정보를 하이퍼 텍스트방식으로 연결하여 제공

HOW

목적에 맞는 HTTP Method를 사용한다.

[ GET ]

  • 요청하는 데이터가 HTTP Request Message의 Header 부분의 URL에 담겨서 전송된다.
    → URL이라는 공간에 담겨있기 때문에 전송할 수 있는 데이터의 크기가 제한적
    → 또 보안이 필요한 데이터에 대해서는 데이터가 그대로 URL에 노출되므로 GET 방식은 적절하지 않다.
  • 서버에서 어떤 데이터를 가져와서 보여주는 용도
  • GET 요청은 브라우저에서 Caching할 수 있다.

[ POST ]

  • HTTP Message의 Body 부분에 데이터가 담겨서 전송된다.
  • 서버의 값이나 상태를 변경하거나 추가하기 위해서 사용

URI 작성법

  • 슬래시(/) 는 계층 관계를 나타낼 때 사용
  • URI 마지막 문자로 슬래시를 포함하지 않는다.
  • 하이픈(-)은 URI 가독성을 높이는데 사용한다.
  • 밑줄(_)은 URI에 사용하지 않는다.
  • 경로에는 소문자가 적합

--

--

SoniaComp

Data Engineer interested in Data Infrastructure Powering Fintech Innovation (https://www.linkedin.com/in/sonia-comp/)