RESTful API

태량·2023년 7월 11일
0

RESTful API란?

HTTP를 HTTP 답게 쓰자는 권고안.

컴퓨터와 컴퓨터가 네트워크 상에서 소통하는 인터페이스

  • 정해놓은 방법
  • 스타일 방식
  • 디자인 패턴처럼 이렇게 하면 용이하다는 가이드.

URI의 식별자를 이용해서 원하는 데이터를 지칭하고, Http 메소드를 통해 가져올지, 생성할지, 수정할지,삭제할지의 동사를 결정한다. 메소드 (동사) + URI(명사)

사람간의 대화와 마찬가지로 컴퓨터간의 대화도 상호작용이다. 요청으로 대화를 걸었으면 응답으로도 상호작용을 해준다.

  • 상호작용에는 응답코드와 응답메시지를 담는다.

서버응답에는 총 세가지를 포함한다.

  1. 상태표시줄 ( 200 : 일반 성공 응답)
  2. 메시지 본문( xml이나 json형태의 데이터. 클라이언트에게 제공하는 데이터)
  3. 헤더 (메시지 본문에 대한 인코딩 정보, 어떤 파일 유형인지, 서버정도등 메타정보)

원칙

  1. 균일한 인터페이스
    • 위에 URI형태(균일한 식별자)나 행위에 대해 메소드를 사용한 것을 의미한다.
  2. 무상태
    • 서버 부하를 최소화 해주기 위한 방법.
    • 세션의 정보는 전적으로 클라이언트가 가져야 한다.
  3. 계층화 시스템
    • 서버와 클라이언트의 역할은 명확하게 구분되어야 한다.
    • 클라이언트에서 사용자 인증이나 컨텍스트(세션,로그인) 관리를 직접 한다.
  4. 캐시 가능성
    • cache-control 헤드를 통해서 캐시를 사용할지 여부를 명시 해야한다.
    • 캐시를 원할 경우 서버는 캐시의 기능을 제공 해줘야 한다. 캐시의 기능은 물론 클라이언트 프로그램에서 수행.
  5. 온디맨드 코드
    • 서버에서 제공하는 javascript는 클라이언트에서 그 자체로 실행 가능 해야한다.

*레이턴시 - 지연시간

profile
좋은 영향력과 교류를 위하여

0개의 댓글