일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 알고리즘 연습
- 백준
- django ORM
- 알고리즘
- c++
- java
- MAC
- react
- PYTHON
- 알고리즘 풀이
- CSS
- javascript
- Baekjoon
- es6
- 파이썬
- Django
- django rest framework
- HTML
- Git
- DRF
- API
- django widget
- 파이썬 알고리즘
- Algorithm
- AWS
- form
- 알고리즘 문제
- web
- 장고
- js
Archives
- Today
- Total
수학과의 좌충우돌 프로그래밍
[WEB] REST API 란 본문
REST란
REST
는 Representational State Transfer의 약자로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 중 하나입니다.
URI를 통해 자원을 명시하고 HTTP method를 통해서 동작을 정의합니다.
자세한 설계 방법은 아래에서 살펴봅시다.
REST의 특징
- 동일한 인터페이스
- HTTP 표준만 따른다면, 언어와 플랫폼에 종속되지 않습니다. 안드로이드, IOS, 웹에 종속되지 않습니다.
- Stateless
- 서버에서 상태정보를 따로 저장하고 관리하지 않습니다. 이로 인해 서버의 구현이 단순해집니다.
- Cacheable
- HTTP의 인프라를 그대로 사용할 수 있기 때문에 HTTP가 가진 캐시 기능을 사용할 수 있습니다.
- Self-descriptiveness (자체 표현 구조)
- REST API만 보고도 의도하는 바를 명확하게 이해할 수 있습니다.
- Client-Server 구조
- 클라이언트와 서버의 역할을 확실히 구분하여 클라이언트와 서버간에 개발해야 할 내용이 명확해지고 의존성이 줄어듭니다.
REST의 단점
REST의 장점은 특징을 통해 알아봤습니다.
REST의 단점은 아래와 같습니다.
- 제한적인 HTTP method
- POST, GET, DELETE, PUT 4개의 HTTP로 제한됩니다.
- 표준의 부재
- REST API는 표준이 존재하지 않습니다. 그렇기 때문에 클라이언트와 서버 개발자는 API 문서를 통해 소통을 하고 표준을 잡아가게 됩니다.
- 호환성
- 인터넷 익스플로어같은 경우에는 호환이 되지 않아 지원이 안 될 가능성이 존재합니다.
REST API 설계 기본 규칙
표준은 존재하지 않지만 설계를 위한 기본 규칙은 존재합니다.
해당 규칙을 잘 지킨 API를 RESTful하다고 합니다.
- 슬래시 구분자를 통해 계층 관계를 나타냅니다.
- 마지막에는 슬래시 구분자를 포함하지 않습니다.
- 언더바 보다는 하이픈을 사용합니다.
- URI는 소문자로 표기한다.
- URI에 파일 확장자를 표기하지 않는다.
'웹프로그래밍 > 이론' 카테고리의 다른 글
[WEB] google이 만든 RPC, gRPC란 (3) | 2021.06.15 |
---|---|
[WEB] GraphQL, REST API의 대체? (0) | 2021.05.31 |
[WEB] JWT를 어디에 보관해야할까 (0) | 2021.05.23 |
[WEB] Authentication (2) JWT (0) | 2021.05.18 |
[WEB] URI vs URL vs URN 비교 분석 (0) | 2020.10.19 |
Comments