RESTFul API란?
REST(Representational State Transfer) 정의?
REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다.
엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다.
여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다.
- 자원의 이름으로 구분하여 자원의 상태를 주고 받는 것
- HTTP URI를 통해 자원(Resource)을 명시하고, HTTP Method(POST,GET,PUT,DELETE)를 통해 자원의 CRUD 적용하는것을 의미.
※ URI vs URL vs URN
- URI(Uniform Resource Identifier) 통합 자원 식별자 : 웹 서버가 리소스를 고유하게 식별할 수 있도록 하는 것.
- URL(Uniform Resource Locator) 통합 자원 지시자 : 특정 서버의 한 리소스에 대해 구체적인 위치
- URN(Uniform Resource Name) 통합 자원 이름 : 리소스의 위치에 영향 받지 않는 유일무이한 이름
REST 구성 요소
1. 자원(Resource) : URI
2. 행위(Verb) : Method(GET, POST, PUT, DELETE)
3. 표현(Representation of Resource) : Client가 요청을 하면 Server는 응답. ex)json
REST API란?
: REST기반으로 구현된 서비스 API
※ API(Application Programming Interface) : 어플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의 된 인터페이스
RESTFul API이란?
: REST 아키텍처 원리로 구현된 API를 RESTFul API이라고 한다.
GET 방식과 POST 방식의 차이점?
1. GET 방식
- URL에 데이터가 포함되어 요청, 데이터는 헤더에 포함,
- 데이터 양이 한계.
- 캐싱 가능
- 보안 취약
2. POST방식
- 노출되지 않는 Body에 데이터를 넣어서 요청.
- 길이 제한 없음.
- 캐싱 불가.
- 보안