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 | 29 | 30 |
Tags
- webpack
- frontend
- 라우터
- vuetify
- 예외처리
- Transition
- cubic-bezier
- jest
- 장고
- 로컬스토리지
- Django
- vue-router
- 세션
- 안드로이드
- Router
- 성능 최적화
- VUE
- DOM
- lazy loading
- 주니어 개발자
- vue #vue.js #font #web-font
- 프론트엔드
- virtual dom
- css
- 세션스토리지
- NavigationDuplicated
- 렌더링 최적화
- 뷰
- vue.js
- 자바스크립트 #javascript #렌더링 #렌더링순서
Archives
- Today
- Total
한준호
[Modern javascript] REST API 본문
728x90
■ REST API
- HTTP를 기반으로 클라이언트가 서버에 접근하는 방식을 규정한 아키텍쳐
구성 요소 | 내용 | 표현 방법 |
자원 | 자원 | URI |
행위 | 자원에 대한 행위 | HTTP 요쳥 메소드 |
표현 | 자원에 대한 행위의 구체적 내용 | 페이로드 |
REST에서 가장 중요한 기본 원칙은 두 가지다.
1. URI는 리소스를 표현해야 한다
리소스를 식별할 수 있는 이름은 동사보다 명사를 사용
#bad
GET / getTodos / 1
GET / todos / show / 1
#good
GET / todos / 1
2. 리소스에 대한 행위는 HTTP 요청 메소드로 표현한다.
GET POST PUT PATCH DELETE
HTTP 요청 메소드 | 종류 | 목적 | 페이로드 |
GET | index/retrieve | 모든/특정 리소스 취득 | X |
POST | create | 리소스 생성 | O |
PUT | replace | 리소스의 전체 교체 | O |
PATCH | modify | 리소스의 일부 수정 | O |
DELETE | delete | 모든/특정 리소스 삭제 | X |
#bad
GET / todos / delete / 1
#good
DELETE / todos / 1
■ 특징
1. Server - Client 구조
2. Stateless
- 각각의 request를 별개의 것으로 인식
3. Cacheable
- Last-modified 태그나 E-Tag를 이용하여 캐싱 구현 가능
4. Layered System
- REST server는 다중 계층으로 구성될 수 있다(보안, 로드밸런싱, 암호화, 사용자 인증 등)
5. Code on Demand
6. Uniform Interface
728x90
'Frontend > modern javascript' 카테고리의 다른 글
자바스크립트 이차원 배열 참조의 함정 (0) | 2022.02.11 |
---|---|
[modern javascript] 브라우저 렌더링 과정 (0) | 2021.09.30 |
[Modern javascript] 배열(2) (0) | 2021.09.14 |
[Modern javascript] 배열(1) (0) | 2021.09.12 |
[Modern javascript] ES6 함수의 추가 기능 (0) | 2021.09.02 |
Comments