RESTful API란 무엇입니까?
RESTful 웹 서비스를 둘러싼 모든 과대 광고로 인해 사람들은 이것이 1 ~ 2 년 전에 갑자기 등장한 새로운 개념이라고 생각할 것입니다. 사실 RESTful API 기본 개념은 웹 자체만큼 오래되었으며 그 관점에서 가장 이해가 잘 됩니다.
RESTful API가 무엇인지 구체적으로 보기 전에 관심을 가져야 하는 이유를 살펴 보겠습니다. 같은 언어를 사용하는 네트워크를 통해 컴퓨터를 서로 연결하기 위해 수년에 걸쳐 수백 가지 방법이 생겨났습니다. 이러한 방법 또는 "프로토콜"의 발전으로 인해 각각 특정 방식으로 컴퓨터 통신을 다루는 합의된 표준 스택이 채택되었습니다. 이 스택의 맨 위에는 애플리케이션 및 프레젠테이션 계층이 있으며, 여기에서 비즈니스 논리와 그 결과로 생성되는 데이터가 교환됩니다.
REST는 인간이 교환되는 내용을 쉽게 이해하고 컴퓨터가 서로 효율적으로 대화할 수 있도록 하는 방식으로이 스택에 내장되어 있습니다. 또한 SOAP (많은 양의 데이터와 컴퓨팅 성능이 필요하고 모바일 애플리케이션의 제한된 리소스에 실제로 적합하지 않음), JMS (Java 애플리케이션) 및 XML-RPC (표준화의 이점 없이 SOAP와 동일한 문제가 많이 있음) 등과 같이여기에 존재할 수 있는 다른 기술도 들어보셨을 것입니다.

REST를 사용하면 더 많은 프로토콜에 의해 도입된 많은 부담없이 웹을 정의하는 동일한 잘 확립된 메커니즘을 사용하여 최소한의 데이터를 전달할 수 있습니다. 이를 통해 프로그래머는 네트워크 속도가 불안정하고 컴퓨팅 성능이 제한된 환경에서도 API를 통해 노출된 데이터에 액세스하고 이에 따라 작동하는 프로그램을 보다 신속하게 구축할 수 있습니다.
REST는 브라우저의 웹 사이트와 거의 똑같이 작동합니다. 리소스는 URL을 통해 프로그램에 전달됩니다. 프로그램은 브라우저에 URL을 입력하고 웹 페이지를 다시 가져올 때와 달리 해당 URL에 액세스하고 리소스에 대한 데이터를 받을 수 있습니다. 잘 설계된 RESTful API에는 프로그램이 관련 정보를 요청하기 위해 따라갈 수 있는 추가 링크가 포함되어 있습니다. 이것은 링크를 클릭하여 새 페이지를 방문하는 방법 또는 주어진 리소스를 업데이트하기 위해 데이터를 제출하는 방법과 비슷하며 웹 양식을 작성하여 웹 사이트에 대한 새 계정을 만드는 방법과 유사합니다.
이러한 모든 유연성의 모순점은 강력하게 설정된 표준이 없다는 것입니다. REST는 실제로 데이터가 전송되는 방법을 설명하지만 구현자는 대부분 자체의 능력으로 이 데이터가 어떻게 표시되어야 하는지 파악해야 합니다. 특히 네트워크를 통해 데이터에 액세스하는 모바일 장치의 수가 증가함에 따라 빠르게 변화하고 있지만 이러한 형식이 진정한 표준과 유사한 것으로 통합되기까지는 시간이 걸릴 것입니다.