REST (Representational State Transfer)
: 자원(Resource)의 상태(State) 전달 - 네트워크 아키텍처
자원의 이름(식별자 : identify) = 자원의 표현(representation)으로 구분하여 해당 자원의 상태를 주고 받는 것
Ex)
자원의 이름
- Resource : Student
- 이름(식별) : 홍길동
자원의 상태
- 이름(식별) : 홍길동
- 상태 : 남자
자원의 상태를 HTTP Header 부분의 content-type를 통해 HTML, XML, TEXT, JSON 방식을 통해 데이터를 주고 받음
=> 결론 * HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고 * HTTP Method(POST, GET, PUT, DELETE)를 통해 자원에 대한 * CRUD Operation을 적용하는 것
REST 의 특징
1. Client와 Server 가 서로 독립적으로 분리
2. 요청에 대해서 클라이언트의 상태를 서버에 저장(stateless)하지 않는다.
3. 클라이언트는 서버의 응답을 임시저장(Cache)하여 응답을 재상용하여 서버의 부하를 낮춘다.
4. 서버와 클라이언트 사이에 , 방화벽, 게이트웨이, 프록시 등 다양한 계층 형태로 구성이 가능하며, 이를 확장할 수 있다. (계층화)
5. 인터페이스의 일관성을 지키고, 아키텍처를 단순화시켜 작은 단위로 분리
=> 결론 REST API를 개발할 때 Client 요청에 대한 데이터의 응답과 자원(resource)에 대한 정보가 포함되어 있고 REST 특징을 잘 갖춘 경우 REST Ful하다고 표현하며, 이를 REST API라고 부른다.
* HTTP URI
URI 란, 웹서버가 resource를 고유하게 식별할 수 있도록 하는 것, 특정 자원의 주소값, 유일
요청 : https://www.xxxxx.co.kr/resource/student/hong/man/13
응답 : hong.pdf, hong.jsp, hong.docx
* HTTP Method
1. GET
2. POST
3. PUT
4. DELETE
5. HEAD
6. OPTIONS
7. TRACE
8. CONNECT
'Spring > 99. etc..' 카테고리의 다른 글
Spring Boot Swagger 3.x 사용 (0) | 2022.12.31 |
---|---|
Object Mapper로 Json 파싱 (0) | 2022.09.20 |