REST API는 정보들이 주고받아지는 데 있어서 개발자들 사이에 널리 쓰이는 일종의 형식
이다. 어떠한 기술이나 제품이 아니라 형식이기 때문에, 어떤 언어를 쓰든, 무슨 프레임 워크를 쓰든 이 폼에 맞춰 기능을 만들어 내면 된다.
API(Application Programming Interface)
소프트웨어가 다른 소프트웨어로부터 지정된 형식으로, 요청 명령을 받을 수 있는 수단.
프론트웹에서 서버에 데이터를 요청할 때
서비스들에서 오늘날 널리 사용되는 것이 REST형식의 API이다. 과거의 SOAP이랑 복잡한 형식을 대체한것이다.
REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처이고, REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미`다.
REST는 자체 표현 구조로 구성되어 REST API만으로 HTTP 요청의 내용을 이해할 수 있다는 것이 가장 큰 특징이다. 즉, 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능
하는 것이다.
URI(Uniform Resource Identifier)
: 인터넷에 있는 자원을 고유하게 식별할 수 있도록 나타내는 주소. 자원을 구조와 함께 나타내는 것.
URI = URL(Uniform Resource Location) + URN(Uniform Resource Name)
구성 요소 | 내용 | 표현 방법 |
---|---|---|
자원 | 자원 | URI(엔드포인트) |
행위 | 자원에 대한 행위 | HTTP 요청 메서드 |
표현 | 자원에 대한 행위의구체적 내용 | 페이로드 |
URI는 리소스를 표현해야함
리소스를 식별할 수 있는 이름은 동사보다는 명사를 사용한다.
리소스에 대한 행위는 HTTP요청 메서드로 표현함
HTTP 요청 메서드는 클라이언트가 서버에게 요청의 종류와 목적(리소스에 대한 행위)을 알리는 방법이다.
HTTP요청을 보낼 때 여러 메소드가 있는데, REST API는 그 중 주로 5가지 요청 메서드(GET, POST, PUT, PATCT, DELETE 등)를 사용하여 CRUD를 구현한다.
HTTP 요청 메서드 | 종류 | 목적 | 페이로드 |
---|---|---|---|
GET | index/retrieve | 모든/특정 리소스 취득 | X |
POST | create | 리소스 생성 | O |
PUT | replace | 리소스의 전체 교체 | O |
PATCH | modify | 리소스의 일부 수정 | O |
DELETE | delete | 모든/특정 리소스 삭제 | X |
참고문헌 : 자바스크립트 딥다이브, 얄코
잘 보고 갑니다