본문 바로가기

Android 공부

15. REST API 에 대하여

기본부터 다시 공부하자고 결심한 만큼 REST API 와 URI 에 대해서도 정리하려 한다.

 

Retrofit 에 대해서 정리하던 와중 아무 생각없이 rest api에 대해서 받아적고 있는 스스로를 발견하고 설명할 수 있는가? 라고 물음을 던졌다. 답은 정확히 설명할 수 없다. 였고, rest api에 대해서 정확하게 확인하고 넘어가려 한다. 

 


 

 

REST API 를 묶어서 이야기 하지 않고 REST에 대해서, RESTful 하다는 것에 대해서 설명하겠다. 그러면 자연스럽게 이해가 된다. 

 

REST 는 Representational State Transfer 의 약자로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 의미한다. URI를 통해서 자원을 명시하고 method 를 통해 자원에 대한 CRUD operation을 적용하는 것이다. 

 

REST는 자원 (URI) , 행위 (HTTP METHOD) , 표현으로 구성되어 있고, 그에 따른 몇가지 중요한 특징을 가진다.

 

더보기

1. 유니폼 인터페이스 : 한정적이고 통일된 인터페이스 아키텍쳐 스타일을 지닌다 

 

2. 무상태성 : 작업을 위한 상태정보를 처리하거나 저장, 관리하지 않는다. 단순하게 요청만 처리한다는 특징을 갖고 있기 때문에 의존하지 않고 자유도가 높은 특성을 가진다. 

 

3. 캐시 가능 : 웹 표준을 그대로 사용하기 떄문에 기존 웹의 인프라를 그대로 활용할 수 있다.

 

4. 자체 표현 구조 : REST API 만 보고 쉡게 이해가 가능한 구조로 이루어져 있다. 

 

5. client - server 구조 : 각 사이드에서 개발해야할 내용이 나누어져 있기 떄문에 서로 간 의존성이 줄어든다.

 

6. 계층형 구조 : 구조상의 유연성을 둘 수 있고 중간매체를 사용할 수 있다. 

 

REST API는 RESTful한 API 를 의미하며, 앞에서 언급한 REST의 특징을 갖추고 있어야 한다. 어려워보이지만 정보의 자원을 표현하고, 자원에 대한 행위를 HTTP method를 통해 표현해야 한다는 중요한 원칙을 알고 있다면 쉽게 설계하고 사용할 수 있게 된다. 

 


그렇다면 자원에 해당되는 URI 는 무엇일까?

 

함께 자주 언급되는 URI, URL 를 함께 정리해보겠다. 

 

먼저 URI 는 Uniform Resource Identifier 의 약자로 통합자원 식별자 라고 불린다. 식별이 가능한 모든 종류의 자원을 지칭한다. 여기는 파일 뿐 아니라 이외의 리소스가 모두 포함된다. identifier 에서 유추할 수 있듯 다른 항목과 구분하기 위해 필요한 정보를 담고 있으며 자원 자체를 식별한다는 점이 특징이다. URI 는 URL 을 포함하는 더 큰 개념으로 뒤에 설명할 URL은 URI 의 일종이다. 

 

그렇다면 URL은 무엇일까? URI의 일종으로 Uniform Resource Locator의 약자이다. 리소스의 위치를 나타내는 규약으로 식별자와 위치를 동시에 보여준다. 특정 자원을 식별하는 부분만 포함하는 것이 아니라 웹사이트의 주소와 프로토콜 등을 모두 포함하는 것이 URL 이다. 

 

'Android 공부' 카테고리의 다른 글

17. 안드로이드 Room  (0) 2023.01.30
16. 안드로이드 Retrofit  (0) 2023.01.27
14. HTTP 에 대하여  (0) 2023.01.21
13. 안드로이드 범위지정함수 (Scope Functions)  (0) 2023.01.20
12. 안드로이드 루퍼 & 핸들러  (0) 2023.01.18