[기술면접] Restful API

정승렬·2023년 2월 21일
0

기술면접

목록 보기
3/38

Restful API

  • Respresentational State Transfer
  • 자원의 이름을 구분하여 자원의 상태를 주고받음
  • HTTP URI를 통해 자원 명시, HTTP Method(POST, GET, PUT, DELETE)를 사용하여 CRUD Operation 적용
  • REST의 3요소
    • 자원 : HTTP URI
    • 자원에 대한 행위 : HTTP Method
    • 자원에 대한 행위의 내용 : HTTP Message Pay Load
  • Rest의 특징
    • server-client 구조
      자원이 있는 쪽 : server
      자원을 요청하는 쪽 : client
      client는 사용자 인증이나 context(세션, 로그인 정보) 등을 직접 관리, 책임 역할을 구분하여 상호 의존성을 줄임
    • Layerd System(계층화) : 서버는 다중 계층으로 구성될 수 있음
      (router, controller, service, dao)
  • 장점
    • HTTP 프로토콜을 준수하기 때문에 HTTP 프로토콜을 따르는 모든 곳에서 사용 가능
    • HTTP 프로토콜 인프라를 사용하기 때문에 REST API 사용을 위한 별도의 인프라 구축이 필요 없음
    • REST API메시지가 의도하는 바를 명확하게 나타내므로 의도를 정확히 파악할 수 있으며 여러가지 서비스 디자인에서 발생할 수 있는 문제를 최소화 함
  • 단점
    • 사용 가능한 Method가 4가지 밖에 없다(형태가 제한적)
    • 구형 브라우저에서 호환이 되지 않아 지원되지 않는 동작이 있다

0개의 댓글