dh_0e

[Network] Restful API 본문

Network

[Network] Restful API

dh_0e 2026. 3. 24. 11:19

Web and HTTP(Hypertext Trnasfer Protocol)

  • 여러 형식의 객체들을 전달
    • ex) HTML file, JPEG image, Java applet etc.
  • 웹 페이지는 여러 참조 개체를 포함하는 기본 HTML 파일로 구성
  • 객체는 URL(Uniform Resource Locator)로 주소 지정이 가능

URL

  • http는 stateless(상태가 없음) 임
    • 서버가 과거 클라이언트 요청에 대한 정보유지하지 않음
    • 상태 없이 클라이언트 인증을 위해 쿠키, 토큰을 사용하며 http 외에도 UDP도 stateless 한 통신 방법임
      • Session을 활용하는 TCP는 stateful(상태 유지) 서버

HTTP request message

 

Restful API

  • REpresentational State Transfer (대표 상태 전송)
  • 성공적인 웹 서버를 정의
    • 성공적인 웹 서버란?
      • 모든 리소스는 ID를 가져야 함
      • 모든 리소스를 URI(Uniform Resource Identifier)로 표현
      • 모든 리소스를 간단한 명령어만으로 가능하게 함
        • HTTP Method: GET, POST, PUT, DELET
      • 여러 가지 자원을 다룰 수 있어야 함
        • HTML, XML, JSON, CSV, TXT
      • Stateless 하게 통신해야 함
  • 3rd-party APIs / Developer APIs: 많은 웹 사이트들이 자신들의 REST API를 다른 개발자들에게 풀어놓고 있음
    • ex) Google Maps API, GitHub, etc.

URI(Uniform Resource Identifier)

  • URL의 확장된 개념으로 인터넷상의 자원(웹 페이지, 이미지, 문서, 서비스 등)을 고유하게 식별하는 표준화된 문자열
  • Key-value pairs 패턴
  • ex) ?type=album&q=beyonce
    • 첫 번째 쿼리는 '?'로 시작
    • 다음부턴 '&'로 시작

  • Cloud management service(ex. openstack)도 역시 RESTful API로 오픈해 놓음