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 | 31 |
Tags
- github
- 세션(Session)
- JWT
- web
- 장고
- viewsets
- Wil
- docker
- 티스토리챌린지
- 자료구조
- SQL
- 코딩테스트
- redis
- ERD
- flask
- 개발공부
- 아티클 스터디
- git
- 오블완
- CS
- NoSQL
- 파이썬
- Til
- Doker
- 연습
- 쿠키(cookie)
- django
- nginx
- 도커
- Python
Archives
- Today
- Total
SteadyDrills
RESTful API란? 본문
240829
RESTful API란?
RESTful은 웹 서비스 디자인 아키텍처 스타일 중 하나로, 클라이언트와 서버 간의 상호작용을 HTTP 프로토콜을 통해 정의.
RESTful 아키텍처는 자원을 중심으로 설계되며, 각 자원은 고유한 URI(Uniform Resource Identifier)로 구분됩니다.
이 URI를 통해 자원의 현재 상태를 주고받을 수 있습니다.
RESTful API의 특징
HTTP 메서드 사용
- RESTful API는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 HTTP 메서드로 매핑한다.. → 웹의 장점을 가장 잘 살릴 수 있는 아키텍처 스타일이며 요청 형식만 보고도 결과를 추론 가능하다.
- GET: 자원 조회
GET /articles/1 → 1번 article 조회
- POST: 자원 생성
POST /articles/ → 새 article 생성 - PATCH: 자원 부분 업데이트
PATH /articles/1 → 1번 article 업데이트 - DELETE: 자원 삭제
DELETE /articles/1/ → 1번 article 삭제
- GET: 자원 조회
무상태성 (Stateless)
- 서버는 클라이언트의 상태를 저장하지 않는다. 각 요청은 독립적이며, 필요한 모든 정보를 요청에 포함해야 하고, 이를 통해 서버의 확장성과 유연성이 향상된다.
캐시 가능 (Cacheable)
- RESTful API는 응답을 캐시 할 수 있도록 설계되어 있어, 성능 향상과 서버 부하 감소에 기여한다. 또한 클라이언트는 캐시 된 응답을 재사용할 수 있다.
RESTful API의 핵심규칙
- 자원 : URI(Uniform Resource Identifier)로 표현
- 행위 : HTTP Method로 표현
- 표현
- 자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용
- URI는 동사가 아닌 명사의 나열로 사용→ POST /articles/ (O)
- → POST /articles/create/ (X)
- 일반적으로 HTTP Method (GET POST PUT DELETE) + PATCH(경로)를 사용함.
RESTful API의 핵심규칙을 지켜야하는 이유
로직과 동작에는 영향없지만 자원 중심 설계를 따름으로써 URI의 일관성과 예측 가능성을 높이기 때문이다.
'웹개발' 카테고리의 다른 글
Django project(spartamaket_drf) - ERD (0) | 2024.09.06 |
---|---|
Serialization란? (0) | 2024.08.30 |
Django(장고)- 장고 ORM 중 fillter와 Q 객체( 'Q'object) (0) | 2024.08.28 |
장고 프로젝트(: spartamaket) - 검색기능 구현 (0) | 2024.08.27 |
장고 프로젝트(: spartamaket) - 프로필 이미지 삽입기능 & 기본값(default) (0) | 2024.08.27 |