📢 공지사항
home

빈경 질문 3번

장점

1.
쉬운 사용 : HTTP 프로토콜 인프라를 그대로 사용하므로 별도의 인프라를 구축할 필요가 없고, HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다. ⇒ 웹사이트 주소에 http가 붙는 모든 플랫폼에서 사용 가능
2.
클라이언트-서버 역할의 명확한 분리 : 클라이언트는 REST API를 통해 서버와 정보를 주고받는다. 클라이언트와 서버 역할이 확실하게 구분되면서 개발 관점에서 양측의 의존성이 줄어든다
3.
특정 데이터 표현을 사용가능 : REST API는 헤더 부분에 URI 처리 메소드를 명시하고 필요한 실제 데이터를 ‘body’에 표현할 수 있도록 분리시켰다. JSON , XML 등 원하는 Representation 언어로 사용 가능하다.
여기 body에 요청내용(post,put같은 값 바꾸거나 생성하는거)과 응답 내용을 담아 전달함
응답시 받는 body 내용을 내가 원하는 데이터 형태로 받을 수 있다
4.
REST API 메시지가 의도하는 바를 명확하게 나타내므로 쉽게 파악 가능
위 사진대로 메시지가 전달 ⇒ 아래는 응답 header 정보 예시
HTTP/1.1 200 OK #응답 상태에 관한 정보 accept-ranges: bytes cache-control: public, max-age=0 content-length: 928 content-type: text/html; charset=UTF-8 date: Wed, 04 Jul 2018 01:42:11 GMT etag: W/"3a0-16462bb9496" last-modified: Wed, 04 Jul 2018 00:40:17 GMT x-powered-by: Express
JavaScript
복사

단점

1.
메소드의 한계 : REST는 HTTP 메소드를 이용하여 URI를 표현한다. 이러한 표현은 쉬운 사용이 가능하다는 장점이 있지만 반대로 메소드 형태가 제한적인 단점이 있다. (사용 메소드가 5개 뿐)
2.
표준이 없음 : REST는 설계 가이드 일 뿐이지 명확한 표준은 없다. 혼란스럽다.
3.
구형 브라우저에서의 부족한 지원 : 구형 브라우저에서는 PUT, DELETE 메소드를 사용하지 못하는 등의 지원 문제가 있다