#146
1. REST(Representational State Transfer)란?
분산 하이퍼미디어(자원) 시스템을 위한 소프트웨어 아키텍처의 한 형식으로 자원을 정의하고 자원의 상태나 정보를 전송하는 인터페이스입니다.
REST를 구성하는 요소에는 총 세가지가 있습니다.
아래의 예시를 보시면 쉽게 이해하실 수 있습니다.
예) 1번 영화 자원에 대하여 조회 요청
POST /movies/1
{
"name" : "The LThe Lord Of The Ringsord Of The Rings"
}
우선 첫 번째로 자원(Resource)이 있어야 합니다.
보통 URI이라고 하는데요.
보시면 아시겠지만 자원은 1번 영화입니다.
두 번째로는 행위(Method)입니다.
자원에 대한 HTTP 요청입니다.
이 요청에는 POST, GET, PUT, DELETE가 있는데요.
각각 CREATE, READ, UPDATE, DELETE에 해당됩니다.
예시에서는 POST를 이용했으니 CREATE에 대한 요청이겠죠?
세 번째로는 표현(Representation)입니다.
어떤 자원을 요청하는지에 대한 메세지라고 보시면 되는데요.
위의 예시에서는 1번 영화에 대한 내용으로 보시면 됩니다.
이 내용을 어떻게 전달할 것인지 결정할 수 있습니다.(xml, json 등)
2. REST의 조건
REST를 구현하는데 크게 6가지 조건이 있습니다.
1) Client-server architecture
: REST가 구현된 서버, 이에 요청을 하는 클라이언트, 독립적인 구조로 운영
2) Statelessness
: 클라이언트가 요청한 내용에 대한 상태정보를 저장하지 않고 요청에 대한 응답만 전달
3) Cacheability
: HTTP 캐싱이란 웹 상에서 자주 액세스하는 데이터를 임시 저장하는 방법, 클라이언트의 요청에 대해 캐싱
4) Layered sytem
: 계층을 두어 각 계층에서 역할을 수행할 수 있도록 분리(암호화, 로드밸런싱 등)
5) Code on demand(Option)
: 클라이언트 요청에 따라 서버에 실행 가능한 소프트웨어 코드를 전송
6) Uniform interface
: 자원에 대한 행위(메소드)를 통일된 인터페이스로 제공
3. REST 작성 가이드
1) 소문자를 사용한다.
2) '/'는 계층 관계를 나타낼 때 사용하고 마지막에는 사용하지 않는다.
3) 언더바(_)를 사용하지 않고 하이픈(-)을 사용한다.
4) 되도록 동사를 사용하지 않고 명사를 사용하며, 복수형으로 사용한다.
5) 확장자를 표시하지 않는다.
6) 행위에 대하여 표현하지 않고 메소드를 통해 사용한다.
4. RESTful이란?
한국적으로는 REST와 같은 의미입니다.
REST한~ 이런 의미라고 보시면 됩니다.
5. REST API란?
API란 이전 포스팅에서 이야기를 드렸죠?
REST환경에서 제공하는 API입니다.
사실 REST에서 제공하는 것이 REST API입니다.
6. REST API 예제
Open API에서 GET 메소드를 이용하여 프로그램을 만들 때 참고하였던 내용입니다.
'컴소니 > 개발' 카테고리의 다른 글
[다시 시작하는 JAVA 개발] 클래스 이해하기 (0) | 2022.05.08 |
---|---|
SOAP(Simple Object Access Protocol)란? (0) | 2021.01.27 |
API(Application Programming Interface)란? (0) | 2021.01.25 |
OpenJDK 설치하기(CentOS 7) (0) | 2020.03.06 |
OpenJDK 설치하기 (0) | 2020.01.09 |
댓글