REST API를 실행하기 위해 요청을 전송해야 하는 것을 알고 계실 것입니다. 또한 그 요청은 HTTP 메시지를 통해 전달됩니다. HTTP 메시지는 일반적으로 JSON 파일을 포함합니다. 클라이언트가 웹 페이지를 사용하면 브라우저는 페이지를 호스팅하는 서버로 HTTP 요청을 전송합니다. 그러면 서버는 기본 "index.html"로 원하는 리소스 찾기를 시도합니다. 요청이 성공하면 서버가 HTTP 응답으로 클라이언트에게 개체를 전송합니다. 이때 리소스 유형, 리소스 길이 등의 정보가 포함됩니다
내 컴퓨터가 아닌 다른 사람의 컴퓨터(서버)의 기능을 실행시킬 때 사용되는 일종의 형식을 말합니다. 즉 구글 캘린더나 트위터의 특정 url에 접속해서 내가 원하는 정보를 받아오게 되면, 그쪽 서버의 API 기능을 실행하게 되는데, 이때 통일된 규칙이 있어야 다른 컴퓨터에서 제 요청을 알아들을 수 있겠죠.
클라이언트에서 액세스할 수 있는 모든 종류의 개체 및 서비스를 모두 리소스라고 표현합니다.
리소스 가공에는 크게 4가지 방법(method)이 있습니다. 많이 들어보셨을 CRUD로 아래와 같습니다. "Create / Read / Update / Delete"
해당 CURD는 웹의 통신 규약인 HTTP method의 원래 기능을 최대한 이용하는 것
|Create |Post(생성)
|Read |Get(읽기)
|Update |Put(전체 수정) | Patch(부분 수정)
|Delete |Delete(삭제)
리소스에 대한 행위는 HTTP Method(POST, GET, PUT, DELETE)로 표현해야 합니다.
/(슬래시)는 계층 관계를 나타낼때 사용합니다.
URI 마지막 문자에 /(슬래시)를 사용하지 않습니다.
URI에 _(underscore)는 사용하지 않도록 합니다. 또한 영어 대문자보다는 소문자를 씁니다.
그리고 가독성을 위해서 긴 단어는 잘 사용하지 않습니다.
URI에 동사는 GET, POST와 같은 HTTP Method를 표현하기 때문이다.
동사가 아니라 명사를 사용한다.
URI에 파일의 확장자(예를들어 .json , .JPGE)를 포함 시키지 않습니다.
GET을 요청하면 쿼리 문자열이 나타납니다. 이 문자열은 URL의 일부이며 웹 서버로 기타 정보를 보냅니다. 쿼리는 ?로 시작되며 아래 표와 같이 그 뒤에 일련의 매개변수와 값 쌍이 나타납니다. 첫 번째 매개변수 이름은 ”name”이고 값은 ”Joseph”입니다. 두 번째 매개변수 이름은 ”ID”이고 값은 ”123”입니다. 각 쌍, 매개변수와 값은 등호(=)로 구분됩니다. 또한 일련의 쌍은 앰퍼샌드(&)로 구분됩니다