RESTFUL API란 무엇일까?
우선 REST는 ' 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미한다' 라고 한다.
REST는 웹 기반의 네트워크 통신 방식 중 하나라고 하며
HTTP URI으로 자원을 명시(이름으로 구분) 하고 HTTP Method(get,post,delete 등)으로 자원에 대한 싱테 등을 처리한다.
URI = 자원의 식별자
URL = 자원의 위치
그렇다면 REST를 왜 사용하는 것일까?
* HTTP 를 이용하기 때문에 별도의 자원을 소모할 필요가 없으며 HTTP의 장점을 가지고 있다.
*서버와 클라이언트의 역할을 정확하게 분리해준다.
* 하지만 HTTP 프로토콜 특성상 메소드가 제한적이기 때문에 어려움이 존재한다.
API란?
* API - 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.
REST API 설계의 규칙
* URI의 표현 - * 자원(resource)은 명사, 소문자 사용
* 도큐먼트(인스턴스, DB 레코드) 는 단수 명사
* 컬렉션(서버 디렉토리), 스토어(클라이언트 저장소)는 복수 명사
* URI 사이에는 HTTP Method 및 동사표현 사용 불가
* URI의 구분자 - * / (슬래시) 는 계층 관계를 나타냄
* URI의 마지막에는 / (슬래시) 사용 금지
* 밑줄(_)은 사용 금지 하이픈(-)은 사용 가능
* URI 에는 확장자 사용 금지 ex).jpg 대신 Accept header 사용 - example-image HTTP/1.1 HOST: example.com Accept : image/jpg
* 연관성 - /리소스명/리소스 ID/연관된 리소스명
RESTFUL API
REST API를 제공하는 웹 서비스를 RESTFUL 하다고 한다.
'IT 관련 > 백엔드,인텔리제이' 카테고리의 다른 글
Quick DBD 사용 후기 (0) | 2021.10.31 |
---|---|
HTTPS SSL 갱신하기(certbot 갱신) (0) | 2021.05.09 |
MYSQL (datagrip) 명령어 모음 (0) | 2021.02.25 |
가비아 서브도메인 (sub domain) 설정 & nginx 서브도메인 설정 & ip to domain redirect nginx (0) | 2021.02.08 |
도메인(domain) 적용 / https(let`s encrypt) 적용 (0) | 2021.02.07 |