728x90
RESTful
- REST API를 제공하는 웹 서비스를 RESTful하다고 한다.
- REST 원리를 따르는 시스템
Rest(REpresentational State Transfer)
- 자원을 이름으로 구분하여 해당 자원의 정보를 주고받는 모든 것.웹 사이트의 이미지, 텍스트, DB 등 모든 자원에 고유한 ID인 HTTP URI를 부여함.
- ex - DB의 학생정보가 자원일 경우 'students'를 자원의 표현(이름)으로 정함.
- 데이터가 요청되어 지는 시점에 JSON이나 XML을 통해 데이터를 주고 받는다.
- 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나.
- HTTP URI를 통해 자원을 명시하고 Post, Get, Put, Delete, Head와 같은 HTTP Method를 통해 해당 자원에 대한 CRUD를 적용하는 것.
장단점
장점
- HTTP 프로토콜 인프라를 그대로 사용. HTTP 표준 프로토콜을 따르는 모든 플랫폼엥서 사용 가능.
- 서버와 클라이언트의 역할을 명확하게 분리한다.
- REST API 메시지가 의도하는 바를 명확하게 나타내기 때문에 의도를 쉽게 파악할 수 있음.
단점
- 표준이 존재하지 않음.
- 사용할 수 있는 메서드가 4가지 뿐(형태가 제한적임)
- 구형 브라우저가 제대로 지원해주지 못하는 부분들이 있음.(PUT, DELETE 사용 불가 등)
필요한 이유
다양한 클라이언트의 등장 - 요즘은 다양한 브라우저와 안드로이드, 아이폰과 같은 모바일 디바이스에서도 통신이 가능해야 한다.
구성요소
- URI(자원)
- HTTP Method(행위)
- 표현
728x90
'백엔드' 카테고리의 다른 글
[Javascript] Javascript Date → Java LocalDate/LocalDateTime 변환 오류 (0) | 2021.08.12 |
---|---|
[Error 해결법] Spring Boot - https to http redirect 에러 (0) | 2021.08.06 |
[CS] 고정소수점과 부동소수점 (0) | 2021.08.06 |
[Java] Overloading과 Overriding 공통점과 차이점 (0) | 2021.07.11 |
JPA란? (Spring Boot + JPA 환경설정 및 사용법) (0) | 2020.03.18 |
댓글