반응형
개념정리
REST API와 HTTP 메소드정리
REST(Representational State Transfer) API
REST API의 기본개념
[REST]
- URI를 통해 자원을 표시하고, HTTP Method를 이용하여 해당 자원의 행위를 규정하여 그 결과를 받는 것
- 자원(Resource): URI
- 행위(Verb): HTTP Method
- 표현(Representations)
[REST API]
- 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것
- REST 기반으로 서비스 API를 구현한 것
REST API의 특징
- REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.
- REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.
- 자바, C#, 웹 등
REST API의 구성
자원(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으로 나타내어 질 수 있다.
반응형
'개발 하나둘셋 > CS' 카테고리의 다른 글
[네트워크] RESTful 하게 API를 디자인 한다는 것은? (0) | 2021.11.29 |
---|---|
[네트워크] HTTP와 HTTPS의 특징과 차이점 (0) | 2021.11.19 |
객체지향 프로그래밍 (0) | 2021.11.14 |
[네트워크] 회원가입, 로그인기능 (해시함수 / JWT) (0) | 2021.11.07 |
[네트워크] jinja2, API (0) | 2021.11.07 |