REST API

jaegeunsong97·2023년 1월 26일
0

2023_1_26_TIL

REST API

  • API는 소프트웨어와 소프트웨어 사이에서 데이터 전송을 가능하게 하는 프로그램
  • 웹장점을 살린 아키텍쳐 -> Uniform inteface 아키텍쳐를 가짐
  • Uniform-Interface
    • 자원들이 독립적인 인터페이스를 가져야함
      • 웹페이지를 변경했다고 웹 브라우저를 업데이트하는 일은 없어야 함
      • HTTP 명세나 HTML 명세가 변경되어도 웹페이지는 잘 작동해야 함
      1. Self descriptive messages
      • HTTP Header에 타입을 명시, 각 자원들은 MIME types에 맞춰 표현
      1. HATEOAS 구조
      • 하이퍼링크에 따라 다른 페이지를 보여줘야 하며 데이터마다 어떤 URL에서 원했는지 명시
      • link라는 property에 값을 넣어서 어떤 URI에서 보냈는지 명시
      1. Stateless
      • HTTP자체가 Stateless 상태이기 때문에 HTTP이용하는 것 만으로도 만족
      • 즉 REST API를 제공해주는 서버는 세션을 해당 서버쪽에 유지하지 않는다는 것
      1. Cacheable
      • HTTP는 캐싱이 됨
      • 캐싱은 네트워크 요청을 줄요주고 UX향상에 도움
      • 네트워크 요청시 해당되는 자원들을 복사 후 메모리에 저장했다가 같은 요청 시 네트워크 요청을 하지 않고 브라우저 메모리에 있던 자원을 다시 반환
      1. Client-Server 구조
      • 서로 독립된 구조를 가질 것
      • 서버는 API를 제공, API에 맞는 비즈니스 로직만 처리
      • 클라이언트는 HTTP로 받은 로직만 처리
      1. Layer System
      • 계층구조로 아키텍처를 만들 수 있다는 것(독립적인 구조라는 것)
  • URI 규칙
    https://softlabsblog.tistory.com/155

참조

https://assaeunji.github.io/development/2020-08-29-api/

profile
블로그 이전 : https://medium.com/@jaegeunsong97

0개의 댓글