2023. 3. 27. 13:41ㆍ웹개발 메모장
REST - Representational State Transfer
: 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다.
- HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
- HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해
- 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.
CRUD Operation
Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT, PATCH)
Delete : 데이터 삭제(DELETE)
REST API 설계
- URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
- 마지막에 슬래시 (/)를 포함하지 않는다.
- 언더바 대신 하이폰을 사용한다.
- 파일확장자는 URI에 포함하지 않는다.
- 행위를 포함하지 않는다.
REST API - Repersentational State Transfer API
- 자원(Resource) : HTTP URI
- 행위(Verb) : HTTP Method
- 표현 (Representations) : HTTP Message Pay Load
자원(Resource) : URI
- 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
- 자원을 구별하는 ID는 ‘/groups/:group_id’와 같은 HTTP URI 다.
- Client는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보)에 대한 조작을 Server에 요청한다.
행위(Verb) : HTTP Method
- HTTP 프로토콜의 Method를 사용한다.
- HTTP 프로토콜은 GET, POST, PUT, DELETE 와 같은 메서드를 제공한다.
METHOD | 역할 |
GET | 요청받은 URI의 정보를 검색하여 응답 |
HEAD | GET방식과 동일하지만, 응답에 BODY가 없고 응답코드와 HEAD만 응답 웹서버 정보확인, 헬스체크, 버젼확인, 최종 수정일자 확인등의 용도로 사용 |
POST | 요청된 자원을 생성(CREATE) 새로 작성된 리소스인 경우 URI주소를 포함하여 응답 |
PUT | 요청된 자원을 수정(UPDATE) 내용 갱신. URI를 보내지 않아도 됨 클라이언트측은 요청된 URI를 그대로 사용하는 것으로 간주 |
PATCH | PUT과 유사하게 요청된 자원을 수정(UPDATE)할 때 사용 PUT의 경우 자원 전체를 갱신하는 의미지만, PATCH는 해당자원의 일부를 교체하는 의미로 사용 |
DELETE | 요청된 자원을 삭제할 것을 요청함(안전성 문제로 대부분의 서버에서 비활성) |
CONNECT | 동적으로 터널 모드를 교환, 프락시 기능을 요청시 사용 |
TRACE | 원격지 서버에 루프백 메시지 호출하기 위해 테스트용으로 사용 |
OPTIONS | 웹서버에서 지원되는 메소드의 종류를 확인할 경우 사용 |
표현(Representations)
- Client가 자원의 상태(정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답(Representation)을 보낸다.
- REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타내어 질 수 있다.
RESTful

RESTFUL이란 REST의 원리를 따르는 시스템을 의미합니다. 하지만 REST를 사용했다 하여 모두가 RESTful 한 것은 아닙니다. REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있으며
모든 CRUD 기능을 POST로 처리 하는 API 혹은 URI 규칙을 올바르게 지키지 않은 API는 REST API의 설계 규칙을 올바르게 지키지 못한 시스템은 REST API를 사용하였지만 RESTful 하지 못한 시스템이라고 할 수 있습니다.
► 참고사이트
[네트워크] REST API란? REST, RESTful이란?
REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST API를 알기 위해 REST부터 알아보도록 하겠습니다. REST란? REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상
khj93.tistory.com
[네트워크] REST API와 HTTP 메소드정리
개념정리 REST API와 HTTP 메소드정리 REST(Representational State Transfer) API REST API의 기본개념 [REST] URI를 통해 자원을 표시하고, HTTP Method를 이용하여 해당 자원의 행위를 규정하여 그 결과를 받는 것 - 자
yuricoding.tistory.com
'웹개발 메모장' 카테고리의 다른 글
parameter 매개변수와 argument 인수의 차이 (0) | 2023.03.28 |
---|---|
Hoisting 호이스팅과 TDZ (0) | 2023.03.28 |
웹페이지 로딩 과정 (0) | 2023.03.27 |
항해 끝 , 계획표 짜기 (0) | 2023.03.19 |
[개발자가 되는 과정] 매니저님이 추천하는 협업방식 ( 같은팀끼리 ) (0) | 2023.02.12 |