REST(REpresentational State Transfer)
자원을 이름으로 구분해서 해당 자원의 상태를 주고 받는 것을 의미한다.
즉, resource(자원) 의 represeㅜtation(표현) 에 의한 상태 전달이다.
HTTP 프로토콜을 그대로 사용하여 웹의 장점을 활용할수 있는 아키텍쳐 스타일이며 client와 server사이의 통신 방식중 하나이다.
자원의CRUD(Create,Read,Update,Delete) 연산을 하기 위해 URI로 get,post,put,delete등의 메서드를 사용해서 요청을 보내고 특정 형태로 값을 돌려 받는다.
REST의 구성요소는 URI와 메서드와 반환되는 형태 로 나뉜다.
- URI
모든 자원에는 고유 id가 존재하고 이 자원은 server내에도 존재한다.
HTTP URI를 통해서 자원을 구별하고 클라이언트는 이 URI를 이용해서 server에 요청을 한다.
- 메서드
HTTP프로토콜을 사용할때 메서드를 사용하여 요청을 하는데 Get,Post,Put,Patch,Delete로 메서드를 보낸다.
GET > Read : 정보 요청, URI가 가진 정보를 검색하기 위해 서버에 요청한다.
POST > Create : 정보 입력, 클라이언트에서 서버로 전달하려는 정보를 보낸다.
PUT > Update : 정보 업데이트, 주로 내용을 갱신하기 위해 사용한다. (데이터 전체를 바꿀 때)
PATCH > Update : 정보 업데이트, 주로 내용을 갱신하기 위해 사용한다. (데이터 일부만 바꿀 때)
DELETE > Delete : 정보 삭제, (안전성 문제로 대부분 서버에서 비활성화한다.)
- 반환형태
client와 server사이에 데이터 주고 받는 형태로 대표적으로 json과 xml등이 있다.
그리하여 REST API란?
API는 Application Programming Interface의 약자로
응용프로그램에서 사용할수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할수 있게 만든 인터페이스이다.
REST특징을 기반으로 서비스 api를 구현한것인데, 쉽게 생각해서 서버에 데이터베이스 등에서 클라이언트로 REST 특징을 살려서 데이터를 특정형태에 맞게 요청을 하고 받아오는 작업이다.
여기까지 해서 REST API를 알겠는데 RESTful API는 어떤 차이인가?
RESTful은 REST의 설계규칙을 잘 지켜서 설계한 좀더 REST 같은것을 RESTful이라고 한다.
차이가 없어보일순 있으나 REST의 원리를 잘 따르는 시스템을 RESTful이라고 칭한다.
'IT > Knowledge' 카테고리의 다른 글
다중 OS를 다루는 방법(vmware) (37) | 2022.02.25 |
---|---|
NFT란? (40) | 2022.02.14 |
dll파일에 대해서 (24) | 2022.02.12 |
웹 3.0 이란? (15) | 2022.02.10 |
WAS(Web Application Server)란? (10) | 2022.01.29 |
댓글