REST API
웹 개발자라면 HTTP 프로토콜에 알아야 한다.(그래야 통신이 어떻게 이뤄지는 알수 있다.)
웹개발에 입문하면 보통 HTTP 메소드 중 GET과 POST만 사용을 한다.
하지만 두가지의 메소드만으로는 HTTP 프로토콜을 최대한 활용 할 수 없다고 한다.
그래서 HTTP의 주요 저자 로이 필딩(Roy Fielding)에 의해서 HTTP프로토콜의 최대한 활용할 수 있는 Rest(Representational State Transfer) 개념이 2000년도에 발표되었으며 현재는 중요한 아키텍처로서 활용이 되고 있다.
RestAPI의 특징으로는 6가지의 형태를 가진다.
1) Uniform (유니폼 인터페이스) 2) Stateless (무상태성) 3) Cacheable (캐시 가능) 4) Self-descriptiveness (자체 표현 구조) 5) Client - Server 구조 6) 계층형 구조
(위의 6가지에 대해 궁금하다면 첫번째 참고 블로그의 포스팅을 보시길…)
RestAPI의 중요 메소드
GET
- 데이터를 요청 또는 조회
POST
- 데이터를 등록 또는 전송
PUT
- 데이터를 전체수정
PATCH
- 데이터중 일부수정
DELETE
- 데이터를 제거
HTTP 주요 응답 상태 코드
| 코드 | 상태 |
|---|---|
| 200 | OK(요청이 성공적으로 수행되었음) |
| 302 | Not temporarily(자원변경됨 redirect) |
| 400 | Bad request (사용자의 잘못된 요청을 처리할 수 없음) |
| 401 | Unauthorized (인증이 필요한 페이지를 요청한 경우) |
| 403 | Forbidden (접근 금지, 디렉터리 리스팅 요청 및 관리자 페이지 접근 등을 차단) |
| 404 | Not found, (요청한 페이지 없음) |
| 405 | Method not allowed (혀용되지 않는 http method 사용함) |
| 500 | Internal server error (내부 서버 오류) |
참고
https://meetup.toast.com/posts/92
https://www.a-mean-blog.com/ko/blog/토막글/_/REST와-RESTful-API
http://gyrfalcon.tistory.com/entry/HTTP-응답-코드-종류-HTTP-메소드-종류
