Representational State Transfer의 약자로서, 어떤 자원(데이터)에 대해 CRUD를 진행 할 수 있게
HTTP Method를 사용하여 요청을 보내는것.
요약하면
"URI를 통해 정보의 자원을(only 자원만을) 표현하고, 자원의 행위는 HTTP Method로 명시한다."
URI : 주소에 식별자가 있으면 URI
URL : Resource 위치까지만 나타내면 URL
Sample
// todos라는 자원의 경로까지만을 나타내므로 URL
http://localhost:4000/todos
// /todos까지는 자원의 경로까지지만, 12라는 것은 식별자이므로 URI
http://localhost:4000/todos/12
// todos까지는 자원의 경로까지만 나타내므로 URL이지만
// 뒤의 query (?id=1)가 붙으므로 URL을 포함한 URI이다.
http://localhost:4000/todos?id=1
다시 돌아와서
//Method //URI
DELETE http://example.com/users/3/profile
위 요청을 볼 때
http://example.com/users/3/profilehttp://example.com/posts (O)
http://example.com/posts/ (X)
http://example.com/post (X)
http://example.com/get-posts (X)
--> URI는 명사를 사용하고 소문자로 작성되어야 한다.
--> 명사는 복수형을 사용한다.
--> URI의 마지막에는 /를 포함하지 않는다.
http://example.com/post-list (O)
http://example.com/post_list (X)
--> URI에는 언더바가 아닌 하이픈을 사용한다.
http://example.com/post/assets/example (O)
http://example.com/post/assets/example.png (X)
--> URI에는 파일의 확장자를 표시하지 않는다.
위의 REST_API의 까다로운 조건을만족시킨 통신 설계상태를 말하며, 누가 보더라도 이해하기 쉽고, 사용하기 쉬운 REST API 라면 RestFul 하구나 라고 감탄사가 절로 나온다.
HTTP , REST_API
HTTP
REST_API
HTTP 통신 방법 ( url + url메소드 )을 참고해서 만든 인터페이스이다.
서버와 client간의 대화를 주고 받을 수 있는 ( = 요청과 응답 )
http 방법론으로 만든 interface이자 실체 이다.
REST_API를 사용하려면
Sample
// ex)
https:naver.com/webtoon
// 네이버에다 REST_API로 webtoon을 GET요청함