HTTP를 잘사용하기 위한 아키텍쳐 스타일이다.
URI와 HTTP 메소드를 사용해서 자원과 행위를 표현하고,
REST의 원칙을 지키면서 API를 쉽게 파악하게 설계 된 것을 Restful하다고 한다.
자원 : HTTP URI
자원에 대한 행위 : HTTP Method
자원에 대한 행위의 내용 : HTTP Message Pay Load
URI란?
간단하게 인터텍스트넷 자원을 나타내는 고유 식별자(유일함)을 의미
Pay Load란?
전송되는 데이터를 의미(전송되는 데이터 자체를 의미)
HTTP URI를 통해 자원을 명시하고,
HTTP Method를 통해 해당 자원(URI)에 대한 CRUD를 적용하는 것을 의미합니다.
주소값을 통일을 위해서. 같은 카테고리 작업이면 주소값을 통일한다.
구분은 메소드로 구분 짓는다.
Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT, PATCH)
Delete : 데이터 삭제(DELETE)
1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
2. 마지막에 슬래시 (/)를 포함하지 않는다.
3. 언더바 대신 하이폰을 사용한다.
4. 파일확장자는 URI에 포함하지 않는다.
5. 행위를 포함하지 않는다.
URL만 보고 어떤 자원에 접근할 것인지, 메소드를 보고 어떤 행위를 할지 알 수 있기 때문에, 개발을 할때 용이하다.
1개의 URI로 4개의 행위(CRUD)를 명시할 수 있기 때문에 효율적이다.
REST API의 가장 큰 특징으로, 다양한 브라우저와 모바일에서 통신할 수 있도록 합니다.
클라이언트가 서버에 종속적이지 않아도 되기때문에, 상태 유지에 대한 부하가 줄어들고 문제가 된 서버를 교체하는데도 용이하다.