REST API란 무엇인가?

carlkim·2023년 11월 7일
0

CS학습 - 네트워크

목록 보기
45/48

REST API란

일련의 특징과 규칙 등을 지키는 RESTful한 API이다.

  1. NULL STYLE
    -- 아키텍쳐 설계과정이 아무것도 없는 것으로부터 시작한다는 개념

REST API의 특징

1. Uniform-Interface

API에서 자원들은 각각의 독립적인 인터페이스를 가지며 각각의 자원들이
1. url
2. 자원식별,
3. 표현을 통한 자원조작,
4. Self-descriptive messages,
5. HATEOAS
구조를 가지는 것을 말한다.
독립적인 인터페이스라는 것은 서로 종속적이지 않은 인터페이스를 말한다.

예를 들어 웹페이지를 변경했다고 웹 브라우저를 업데이트하는 일은 없어야 하고 HTTP 명세서나 HTML 명세가 변경되어도 웹페이지는 잘 작동해야 하듯.

URL 자원식별

IDENTIFICATION OF RESOURCES 말한다, 자원은 URL로 식별되어야 한다.

예를 들어 /PRODUCT/1213 이런식으로 URL로 요청하면 거기에 해당하는 프로덕트를 줘야한다는 것이다.

표현을 통한 자원조작

MANIPULATION OF RESOURCES THROUGH REPRESENTATIONS는 URL과 GET, DELETE 등이 HTTP 표준메서드 등을 통해 자원을 조회, 삭제 등 작업을 설명할 수 있는 정보가 담겨야 하는 것을 말합니다.

ex) 상품의 정보를 가져올 때 GetProduct라는 url을 쓰면 안된다, get, http method를 써서 가져와야된다는 이야기

Self-descriptive messages

HTTP Header에 타입을 명시하고 각 메세지(자원)들은 MIME types에 맞춰 표현되어야합니다. 예를 들어 .json을 발환한다면 application/json으로 명시해주어야 한다.
MIME types는 문서, 파일 등의 특성과 형식을 나타내는 표준. IETF의 RFC6838에 정의 및 표준화 되어있습니다.
'FONT/TTF', 'TEXT/PLAIN', 'TEXT/CSV' 등을 말합니다.

예를 들어 JSON 타입의 데이터를 보낼 때는 헤더의 Content-Type = application/json 을 명시해야 함을 말합니다.

HATEOAS

HATEOAS(Hypermedia as the Engine of Application State)는 하이퍼링크에 따라 다른 페이지를보여줘야 하며 데이터마다 어떤 URL에서 원했는지 명시해주어야 하는 것을 말합니다. 보통은 href, links, link, url 속성 중 하나에 해당 데이터의 URL을 담아서 표기해아한다.

  1. Stateless
    이 규칙은 HTTP 자체가 Stateless 이기 때문에 HTTPS를 이용하는 것만으로도 만족이된다. 이는 REST API를 제공해주는 서버는 세션을 해당 서버 쪽에 유지하지 않는다는 의미이다.






profile
가장 나답게 문제해결.

0개의 댓글