Hello, Android!

REST 본문

기타

REST

lwndnjs93 2021. 2. 4. 16:45

클라이언트는 서버에게 주소를 통해 요청을 보낸다

특정 페이지에 대한 요청 또는 서버에게 어떤 행동을 요청한다

클라이언트가 필요한 요청의 내용이 주소를 통해 표현되기때문에

서버가 알기 쉬운 주소를 사용하는것이 좋다

 

- REST란

REST는 서버의 모든 자원에 고유한 URI를 부여해 활용하는 것으로

자원을 정의하고 자원에 대한 주소를 지정하는 방법을 의미한다

간단하게 주소를 지정할때 사용하면 좋은 약속 이라고 생각하면 될것같다

 

- HTTP 메서드 

GET : 서버의 자원을 가져올때 사용한다

POST : 새로운 정보를 서버에 등록할떄 사용한다

PUT : 서버의 자원을 변경할때 사용한다 

PATCH : 서버 자원을 일부분만 수정하고자 할때 사용한다

DELETE : 서버의 자원을 삭제할떄 사용한다

OPTION : 요청을 하기 전 통신 옵션을 설명할때 사용한다

 

- REST 구성

1. 자원 : 모든 자원은 고유한 ID가 존재하고 이 자원은 서버에 존재한다

자원을 구별하는 ID는 HTTP URI로 구분하게 된다

예를들어 /user 이면 유저의 정보를 요청한다고 추측할 수 있고

/post 라면 게시물에 관련된 자원을 요청한다고 추측할 수 있다

 

2. 행위 : 클라이언트는 URI를 통해 원하는 자원을 지정하고

해당 자원에 대한 조작을 HTTP 메서드를 통하여

자원에 대한 검색, 삭제 등의 행위를 요청한다

 

3. 표현 : 클라이언트가 서버에 요청을 보내면 서버는 항상 응답(Representation)을 보낸다

이때 응답의 형태를 HTML, JSON, RSS등 여러 형태로 나타낼 수 있다

 

- REST의 장단점

- 장점

1. HTTP 프로토콜을 그대로 사용하면 된다

2. 클라이언트 서버가 명확하게 분리되어 HTTP 통신을 사용한다면 누구든 상관없이 서버와 소통이 가능하며

서버를 확장할때 클라이언트에 구애받지 않는다

3. 헤더에 메서드를 명시하고, 필요한 데이터를 body에 표현할수 있어서

JSON, XML등 원하는 표현을 사용할수 있다

 

- 단점

1. HTTP메서드를 통해 요청의 행위를 표현하여 쉬운 사용이 가능하지만

반대로 메서드가 제한적인 단점이 있다

3. REST는 설계 가이드 이며, 명확한 표준이 없다

'기타' 카테고리의 다른 글

트위치 API 사용하기  (0) 2021.01.20