TIL 94. Restful API

isk·2023년 3월 29일
0

TIL

목록 보기
95/122
post-custom-banner
  • Restful API란?
    • RESTful API는 Representational State Transfer API의 약자로,
      웹 서비스를 구현하기 위한 아키텍처 스타일
      - 아키텍처(영단어 : 건축학)란 시스템의 구조, 동작 등을 정의하는 개념적인 모형
    • RESTful API의 자원은 URI로 표현, 그에 대한 동작은 Method로 정의된다.
    • 클라이언트는 URI로 서버 자원에 접근가능
    • RESTful API은 경량화 되어 있고, 확장성 유연성 높음
  • 메소드
    • 기본 메서드 (GET, POST, PUT, DELETE)
      • GET: 서버에서 자원을 읽어오는 메서드
      • POST: 서버에 새로운 자원을 생성하는 메서드
      • PUT: 서버의 자원을 수정하는 메서드 (전체 수정)
      • DELETE: 서버의 자원을 삭제하는 메서드
    • 그 외 메서드
      • PATCH
        서버의 자원의 일부분만 수정할 때 사용되는 메서드

      • HEAD
        GET 메서드와 비슷하지만, 서버에서 자원의 헤더 정보만을 응답으로 반환.
        자원의 존재 여부나 수정 시간 등의 정보를 확인할 수 있음

      • OPTIONS
        서버에서 지원되는 메서드와 기능 등의 정보를 응답으로 반환

      • TRACE
        클라이언트가 보낸 요청 메시지를 서버가 그대로 반환하는 메서드
        주로 디버깅을 위해 사용

      • CONNECT
        클라이언트와 서버 간에 TCP/IP 터널링을 설정하는 메서드
        주로 원격 서버와 보안 연결을 설정할 때 사용

      • DELETE Collection
        서버의 모든 자원을 삭제하는 메서드
        주로 테스트나 디버깅을 위해 사용

        위의 메서드들은 RESTful API에서 사용되는 일부 메서드의 예시일 뿐, 모든 RESTful API에서 사용되는 것은 아닙니다. 또한, 위의 메서드들은 모두 HTTP/1.1에서 지원되는 메서드들입니다.

  • RESTful API가 아닌 것
    • SOAP API (Simple Object Access Protocol)
      • XML 기반의 메시지 교환 프로토콜을 사용하는 API
      • WSDL (Web Services Description Language)을 사용하여 API 기능을 설명
    • GraphQL API (Graph Query Language)
      • Facebook에서 개발된 쿼리 언어를 사용하는 API
      • 클라이언트가 필요한 데이터를 정확히 요청하도록 허용
      • 데이터 전송량 최소화, 불필요한 중복 감소 효과
      • but, JSON 통신으로, 파일 업로드 시 불편. (라이브러리 사용으로 해결 가능)
    • RPC API (Remote Procedure Call)
      • 네트워크 상에서 함수 호출 프로토콜을 사용하는 API
      • 일반적으로 클라이언트에서 서버로 함수 호출을 보내고 결과를 기다림
    • WebSocket API
      • 실시간 양방향 통신을 위한 API
      • 서버와 클라이언트 사이의 연결을 유지하고 메시지를 주고받을 수 있음
    • 전용 API
      • 특정 하드웨어, 소프트웨어 또는 플랫폼을 위해 설계된 API

      • 대부분의 경우 RESTful API의 대안으로 제공됨ㅌ

        이 외에도 다양한 API가 존재하지만, 이들은 가장 일반적인 유형입니다.

post-custom-banner

0개의 댓글