[CS개념] API란?

Robin·2022년 9월 30일
0

개발상식

목록 보기
9/13

API

App Programming Interface

응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어에서 제공하는 기능을 제어할 수 있게 해주는 인터페이스

  • 쉽게 말해 서비스나 프로그램 간에 미리 정해진 기능을 실행할 수 있도록 하는 규약

  • 애플리케이션 간에 지정된 형식으로 요청과 응답을 할 수 있도록 연결하는 것
    📌 애플리케이션
    API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다.
    (ex) 맛집지도: 네이버맵이나 구글맵 API 활용

  • 다른 프로그램이 제공하는 기능을 제어할 수 있게 해주는 인터페이스
    📌 인터페이스
    사람-사람, 사람-사물을 연결하는 것
    (ex) 폰 내부가 어떻게 동작하는지 몰라고 인터페이스로 버튼으로 음량조절 가능

  • 다른 프로그램과 연결 해주는 다리 역할을 한다.

  • API를 조합해 원하는 프로그램을 만들 수도 있다.

  • 참고로, DOM API 등 라이브러리나 프레임워크에서 제공하는 기능을 API라고 부르기도 한다.


REST API

REST Representational State Transfer

  • HTTP 통신을 REST 설계 규칙을 잘 지켜서 개발한 API를 Restful한 API라고 한다.

  • 각 요청이 어떤 정보나 동작을 위한 것인지 그 모습 자체만으로도 추론이 가능하다.

  • 문서, 그림, 데이터 등의 자원을 이름으로 구분해서 해당 자원에 대한 상태, 정보를 주고받는 것 ➕ HTTP Method를 활용해서 해당 자원에 대한 CRUD를 적용하는 것 (특히 GET, POST, PUT, DELETE, PATCH)

  • 즉, HTTP 요청을 할 때 어떤 URI에 어떤 method를 사용할지에 대한 개발자들 사이에서 널리 사용되어지는 약속
    📌 URI, URL 차이점
    URL은 Uniform Resource Locator로 인터넷 상 자원의 위치를 의미한다. 즉 어떤 파일의 위치이다. 반면에 URI는 Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성으로 URL보다 포괄적인 의미를 뜻한다.

HTTP Method

  • HTTP 메소드는 클라이언트가 서버에게 사용자 요청의 목적을 알리는 수단

  • CRUD 관점에서 설명: Create(생성), Read(읽기), Update(갱신), Delete(삭제)

    • POST : 서버나 특정 리소스에 개체를 제출할 때 사용. Create나 Update, Delete등을 할 때 사용하기도 한다. [Create]

    • GET : 특정 리소스의 참조를 요청. URL에 어느 리소스를 참조 요청하는지 드러나게 된다.[Read]

    • PUT: 해당 리소스를 수정합니다. 전체 자원을 업데이트 하는데에 쓰인다. [Update]

    • DELETE : 삭제 할 때 사용. [Delete]

    • PATCH: 부분을 수정하는데에 사용.


👉 참고: REST API 제대로 알고 사용하기

profile
Always testing, sometimes dog walking

0개의 댓글

관련 채용 정보