REST API

하태현·2021년 3월 3일
0

HTML/CSS

목록 보기
5/5

REST API

REST는 어떤 기술이나 제품이 아니라 형식이다.

인터페이스(Interface)란?

어떤 기계를 만들면, 사용자가 그 기능들을 전부 활용할 수 있는 제어장치가 필요하다.

예를 들어 TV는, 사용자가 그걸. 켜거나 끄고, 채널을 선택하고, 음량을 조절할 수있게 해줘야 한다.

그래서 리모콘이 있고, 같은 이유로 자판기에는 버튼들이 있고 컴퓨터에는 키보드와 마우스가 있다.

이런것들을 '인터페이스'라고 부르는데 기계와 인간의 소통창구.

사용자가 명령을 넣는 것 뿐 아니라,

그 결과와 정보들을 받아오기 위한 TV의 스크린, 컴퓨터의 모니터 또한 이 인터페이스에 속한다.

소프트웨어의 영역으로 들어가보면,

컴퓨터나 스마트폰을 켜보면 사용자들이 프로그램이나 사이트 앱을 원하는대로 제어하고 정보를 볼수 있도록 버튼, 스크롤바, 슬라이더, 브라우저 창 등 소프트웨어적인 장치들이 마련되어있다.

UI란?

소프트웨어와 인간의 소통을 위한 User Interface

API 란?

기계와 기계 소프트웨어와 소프트웨어 사이에서도 수많은 요청과 정보 교환이 이뤄지고 있는데 이들 사이에서도 소통할 수있는 창구가 필요하다.

예를 들어 기상정보가 관리되는 기상청 서버가 있고

포털이나 기타 날씨에 관련된 서비스를 제공하는 다양한 웹사이트들, 앱들이 이 기상청 서버로부터 실시간으로 날씨정보를 요청해서 받아간다.

미리 작성된 소프트웨어를 통해서 이 기상청 서버와,

이 서버들 또는 앱들 사이에 정보들이 요청되고 전송되는 것이다.

그렇다면 이 기상청 서버에게 정보들을 요청하는 지정된 형식이 있어야하고,

여기에 날짜, 여기에 지역, 여기에 조회할 내용 이렇게 표시해서 이 주소로 정보를 요청하면

이렇게 답이 올거라는 공개된 메뉴얼이 있으면 누구든 이걸 참조해서 기상청 정보를 활용하는 소프트웨어를 만들수 있을 것이다.

이처럼 소프트웨어가 다른 소프트웨어로 부터 지정된 형식으로 요청 명령을 받을수 있는 수단을 API라고 한다.

Application Programming Interface

꼭 네트워크 상에서만 API가 있는게 아니다.

로컬 프로그램인 브라우져는 Web API 를 통해 자바스크립트로 부터 특정 동작을 지시받기도 한다. Window API 또한 마찬가지다.

REST API란?

REST의 가장 중요한 특성은 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론 가능하다.

RESTful하게 만든 API는 요청을 보내는 주소만으로도 대략 이게 뭘하는 요청인지 파악이 가능하다.

URI에 정보의 자원을 표시하고, METHOD에 자원에 대한 행위를 표시한다.

이렇게 정해진 규칙들이 있으나 지금은 세세하게 정리 하지 않겠다.

메소드와 URI를 조합해서, 예측가능하고 일정한 정보와 작업을 요청하는 것이다.

profile
왜?를 생각하며 개발하기, 다양한 프로젝트를 경험하는 것 또한 중요하지만 내가 사용하는 기술이 어떤 배경과 이유에서 만들어진 건지, 코드를 작성할 때에도 이게 최선의 방법인지를 끊임없이 질문하고 고민하자. 이 과정은 앞으로 개발자로 커리어를 쌓아 나갈 때 중요한 발판이 될 것이다.

0개의 댓글