본문 바로가기

개발 공부

[REST API] RESTFUL API와 URL

Rest Api와 URL

1. Rest API

1.1. 개념

'REST'는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단했기 때문에, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개했는데 그것이 바로 Representational State transfer (REST)이다.

1.2. 기본
  • Rest API는 기본적으로 리소스, 메소드, 메시지 3가지 요소로 구성된다.
// '이름이 Wonwoo인 사용자를 생성한다.'를 코드로 표현하면 다음과 같다.

HTTP POST, http://localhost/users/
{
  // 아래 부분은 '이름이 Wonwoo인 사용자'로 '메시지'에 해당된다.
   "users" :{
       "name" : "Wonwoo" 
   }
}
  • POST 는 메소드로서 생성한다에 해당된다.
  • http://localhost/users/ 는 리소스에 해당된다.
1.3. HTTP method
메서드 의미
POST Create
GET Select
PUT Update
DELETE Delete
PATCH Update
  • 각각 CRUD 메소드와 대응된다.

참고 사이트

URL 구조 분석

URL

1.1. URL이란

Uniform Resource Locator의 약자로 파일에 대한 인터넷 상의 고유 주소를 의미힌다. 우리는 URL을 통하여 웹 페이지, 이미지, 동영상, 사운드 파일 등의 자원을 찾을 수 있다.

1.2. URL 구조 순서
  • URL의 구조 순서는 프로토콜 -> 웹 서버 -> 경로 -> 파일 이름 -> 쿼리 순으로 구성되어 있다.
http://www.jungfrau.co.kr/community/bbs_qna_view_01.asp?dsBbsAdmin=10&dsIdx=7708
  • 프로토콜 = http:// 웹에서 페이지나 파일에 접근하기 위해 사용되는 메소드
  • 웹 서버 = www.jungfrau.co.kr/ 연결할 파일이 위치한 서버, 서버 주소에는 프로토콜 서비스의 포트 번호가 올 수도 있다. (8080 대부분 생략)
  • 경로 = community/ 연결할 파일이 들어 있는 폴더 dir, 여러 개의 폴더들로 구성될 수 있고 / 로 구분한다.
  • 파일이름 = bbs_qna_view_01.asp 연결되어 보여줄 파일(페이지)의 실제 이름 (asp파일로 작성됨)
  • 쿼리(query) = ?dsBbsAdmin=10&dsIdx=7708& 파일이름 뒤와 쿼리 사이에는 물음표(?)가 있어 구분지을 수 있다.
    • 쿼리는 쿼리 스트링 또는 Search라고도 하며 URL에 전달할 문자열을 지정하게 된다.
    • 쿼리는 쿼리 세그먼트들로 구성되며 쿼리 세그먼트는 &로 구분된다. (변수 = 값)