Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 백준
- framework
- 그리디
- 자바
- 애자일
- 코딩테스트
- 엘라스틱서치
- 코드
- 읽기쉬운코드
- Baekjoon
- 스프링
- Spring
- cleancode
- 애자일프로그래밍
- Java
- API
- 개발자
- ES
- 알고리즘
- Elasticsearch
- database
- 개발
- 애자일기법
- 프레임워크
- 클린코드
- 그리디알고리즘
- 데이터베이스
- JPA
- spring boot
- 코딩
Archives
- Today
- Total
튼튼발자 개발 성장기🏋️
#3 : RESTful API 외우지말자 본문
반응형
달달달 외우는 것을 싫어하고 암기력도 좋지 않아서 이과를 선택했다. 뭘 외우고 있는가? 외울 시간에 이해를 하려고하고 적용을 해보려고 해보자.
이전 글을 참고하자. 꼭.
#1 : RESTful API
개발자라면 RESTful에 대해 한 번이라도 들어 보았을 것이라 생각이 든다. 그러나 정작 "RESTful이 뭐야?"라고 물었을 때 진정으로 정답을 말하기 애매한 것 같다. 실제로 사내 프로젝트로 서버 개발을 했을 때 R..
dotori.ga
위 내용에 덧붙여 더 깊게 알아보자.
REST의 구성 요소는 다음과 같다.
- 표현방식 : HTML 등
- 식별자 : URI
- 행위 : HTTP
REST architecture style
- Server - Client
- 자원 제공을 server, 요청을 client가 한다.
- server에서 rest API를 제공한다.
- 서로의 의존성 최소화
- Stateless
- Client의 session 또는 cookie 등과 같은 context를 신경쓰지 않는다.
- 이전 요청과 다음 요청에 대해서 연관되지 않는다.
- 처리방식에 대해 일관성을 부여한다.
- Cache
- 웹에서 사용하는 기존 인프라를 고대로 활용할 수 있다. (캐싱 기능 사용)
- Uniform interface
- HTTP 표준 프로토콜에 따른 플랫폼에서 모두 사용이 가능하다.
- Layered system
- Client는 REST API server만 호출한다.
- 프록시, 게이트웨이 등과 같은 중간 매체를 사용할 수 있다.
- 비즈니스로직을 수행하기 전과 후에 보안, 암호화, 로드밸런싱 등을 추가하여 실행할 수 있다.
- Code on demand
- 서버로부터 command를 받으면 클라이언트는 수신한 command를 실행한다.
- Optional이기 때문에 만족하지 않아도 된다.
REST의 장점
- HTTP 인프라를 사용하므로 REST의 인프라를 따로 생각할 필요 없다.
- HTTP 표준의 장점을 고대로 활용이 가능하다.
- HTTP를 따른 플랫폼 모두 사용이 가능하다.
- 범용성을 보장한다.
- server가 어떤 말을 하고 있는지 정확하게 파악이 가능하다. (2020/04/25 - [Architecture/RESTful] - #2 : RESTful Architecture Style 참고)
- Server와 Client를 보다 명확하고 확실하게 독립시킨다.
반응형
'API > RESTful' 카테고리의 다른 글
#2 : RESTful Architecture Style (0) | 2020.04.25 |
---|---|
#1 : RESTful API (0) | 2020.04.25 |