☆RESTful API
- Representational State Transfer
- API(Application Programming Interface)
: 개발자가 쉽게 사용할 수 있는 인터페이스, 함수, 클라이언트가 사용할 수 있는 url 등
- REST API
: Resource(URI) / Verb(HTTP Method) / Representation
- RESTful system
Client-server architecture
: 클라이언트와 서버에서의 개발 내용이 명확해지고 의존성 감소
Statelessness
: 세션 정보, 쿠키 정보를 별도로 저장하지 않고 단순 요청만 처리하므로 구현 단순
Cacheability
: http가 가진 캐싱(리소스의 복사본을 저장하고 있다가 요청시 제공) 적용
Layered System
Code on demand
Uniform interface
: 리소스에 대한 요청을 통일하고 한정적으로 수행하는 아키텍처
☆Request Method
- GET : 특정 리소스를 가져올때(GET)
- POST : URL이 지정하는 곳에 무언가를 생성(CREATE)
- PUT : 기존 데이터 업데이트(UPDATE)
- DELETE : 기존 데이터 삭제(DELETE)
- PATCH : 부분적 업데이트
- HEAD : BODY 데이터는 받지않고, 헤더만 받음
- OPTIONS : 해당 URL에서 사용 가능한 모든 옵션을 알고 싶은 경우
- TRACE : 서버가 살아있는지 확인용
☆Request Method + Server Status Code
Get
status code | desc |
---|
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
POST
status code | desc |
---|
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
409 | Conflict |
PUT / DELETE / PATCH
status code | desc |
---|
200 | OK |
204 | No Content |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
HEAD / OPTIONS / TRACE
status code | desc |
---|
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |