RESTful

RESTful 이란 무엇일까… 

먼저 REST에 대해 알아보아야 겠다.

REST

Representational State Transfer

월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한

소프트웨어 아키텍처 의 한 형식이다. 용어. 

REST는 네트워크 아키텍처 원리의 모음이다. ‘네트워크 아키텍처 원리’ 는 자원을 정의, 자원의 주소를 지정하는 방법 전반을 일컫음. 
웹 상의 자료를 HTTP 위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스. 

필딩의 REST원리를 따르는 시스템을 RESTful 이라는 용어로 지칭한다. 

REST 아키텍처에 적용되는 6가지 제한 조건
  • 클라이언트/서버 구조
  • 무상태(stateless) : 각 요청 간 클라이언트의 콘텍스트가 서버에 저장되어선 안 된다.
  • 캐시 처리 가능 (cacheable) : www에서와 같이 클라이언트는 응답을 캐싱할 수 있어야 한다. 
  • 계층화 : 클라이언트는 보통 대상 서버에 직접 연결되었는지, 중간 서버에 연결되었는지 알 수 없음. 즉, 중간서버를 이용하여 로드밸런싱 , 공유캐시 기능을 제공하여 시스템 규모 확장성을 향상시키는 데 유용하다. 
  • Code on demand (optional) : 자바 애플릿, 자바스크립트 제공->  서버가 , 클라이언트가 실행시킬 수 있는 로직을  제공한다. 기능 확장
  • 인터페이스 일관성 : 단순히 아키텍처를 단순화 시키고 작은 단위로 분리함으로서 클라이언트- 서버 의 각 파트가 독립적으로 개선될 수 있게 해줌.  

URI URL URN

URI uniform resource identifier
URL uniform resource locator
URN uniform resource name

http://localhost:8080/profile.jsp 의 뜻은 localhost라는 서버에 profile.jsp 자원이 있다는 걸 알려줌. 이는 URI 면서 URL

http://localhost:8080/profile.jsp/add=seoul&age=22 의 경우 URL의 끝에 쿼리문자열이 붙는다. 이건 URI 이다. 요청 처리에 필요한 값이 포함되면 URI이고 안포함 되면 URL 이다. 

정리된 글 요약

HTTP URI 로 잘 표현된 리소스에 대한 행위 = HTTP Method 

리소스의 내용은 json,xml,yaml 등의 다양한 표현 언어로 정의 

무엇을(HTTP URI 로 정의된 리소스) 어떻게 한다 (HTTP Method + Payload)로 잘 정의된 API 를 REST API라고 한다.

REST API의 수행 대상이 되는 리소스는 URI 로 위치가 정의 된다. uniform resource identifier ‘통합 자원 식별자’ / HTTP (인터넷 프로토콜) 혹은 FTP (파일 전송 프로토콜)과 함께 사용됨. 

메소드 (Method, 행위verb)

REST API 에서는 대상과 상관없이 같은 메소드가 적용된다. 즉 , 대상이 문서, 이미지 ,비디오인지를 가리지 않고 메소드가 적용된다는 것. 

REST API 에서 사용되는 메소드는 HTTP Method 로 POST,GET,PUT,PATCH,DELETE 등이 있따. 이들은 각각 CRUD에 매핑될 수 있다. 

CRUD

HTTP의 메소드를 CRUD에 매핑하여 이해하는 것. 

create , read, update, delete 를 의미한다

카테고리: PROGRAMMINGSTUDY

댓글 남기기