object-oriented programming(OOP)의 약자로 객체의 관점에서 프로그래밍하는 것을 의미한다.
REST(REpresentational State Transfer) :
"REpresentational State Transfer" 의 약자, 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미합니다.
즉, `자원(resource)의 표현(representation)에 의한 상태 전달`!
REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에
웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일입니다.
REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나입니다.
REST의 개념
어떤 자원에 대해 CRUD 연산을 수행하기 위해 URI(Resource)로 GET, POST 등의 방식(Method)을 사용하여 요청을 보내며, 요청을 위한 자원은 특정한 형태(Representation of Resource)로 표현됩니다.
여기서 잠깐! URL과 URI의 차이점은?
URL은 Uniform Resource Locator로 인터넷 상 자원의 위치를 의미합니다.
반면 URI는 Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성으로,
URI는 URL을 포함하게 됩니다. URI가 URL보다 포괄적인 범위라고 할 수 있습니다.
REST의 구성요소
GET | Read : 정보 요청, URI가 가진 정보를 검색하기 위해 서버에 요청 |
---|---|
POST | Create : 정보 입력, 클라이언트에게 서버로 전달하려는 정보를 보냄 |
PUT | Update : 정보 업데이트, 주로 내용을 갱신하기 위해 사용(데이터 전체를 바꿀 때) |
PATCH | Update : 정보 업데이트, 주로 내용을 갱신하기 위해 사용(데이터 일부만 바꿀 때) |
DELETE | Delete : 정보 삭제 (안정성 문제로 대부분 서버에서 비활성화함) |
REST API
REST API 특징
각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능
하다는 것입니다.REST API의 설계 규칙
REST API와 RESTful API의 차이
RESTful API :
REST의 설계 규칙을 잘 지켜서 설계된 API를 RESTful한 API 라고 합니다.
즉, REST의 원리를 잘 따르는 시스템을 RESTful이란 용어로 지칭됩니다.
💛 REST API 설계 시 가장 중요한 항목은 다음의 2가지로 요약합니다.URI는 정보의 자원을 표현해야 한다.
자원에 대한 행위는 HTTP Method(GET, POST, PUT, PATCH, DELETE)로 표현한다.
중요하니까 한 번 더~
REST API는 한마디로 URI는 정보의 자원만 표현해야 하며, 자원의 행위는 HTTP Method에 명시한다는 것이다!!!