우리가 어떤 리퀘스트를 보냈을 때, 무슨 리스폰스를 받는지는 모두 그 서비스를 만드는 개발자들이 정하는 부분이다.
실제 개발 현장에서 일어나는 상황은 다음과 같다.
개발자는 크게 두 가지 종류가 있다. 첫 번째는 사용자가 직접 보는 웹 페이지나 앱 등의 화면을 만드는 프론트엔드 개발자이고, 두 번째는 웹 브라우저나 앱이 보내는 리퀘스트를 받아서 적절한 처리를 한 후 리스폰스를 주는 서버의 프로그램을 만드는 백엔드 개발자이다.
하나의 서비스를 만들 때에는 프론트엔드 개발자들과 백엔드 개발자들이 모여
프론트엔드에서 이 URL로 이렇게 생긴 리퀘스트를 보내면,
백엔드에서 이런 처리를 하고 이런 리스폰스를 보내주는 것으로 합시다.
와 같은 논의를 하고, 이런 내용들을 정리한 후에 개발을 시작한다.
이것을 'Web API 설계' 라고 한다. API란 Application Programming Interface의 약자로, 원래는 '개발할 때 사용할 수 있도록 특정 라이브러리나 플랫폼 등이 제공하는 데이터나 함수 등'을 의미한다. 웹 개발에서는 어느 URL로 어떤 리퀘스트를 보냈을 때, 무슨 처리가 수행되고 어떤 리스폰스가 오는지에 관해 미리 정해진 규격을 Web API라고도 한다.
Web API를 설계한다는 것은 서비스에서 사용될 모든 URL들을 나열하고, 각각의 URL에 관한 예상 리퀘스트와 리스폰스의 내용을 정리한다는 뜻이다.
Web API가 설계되고 나면, 그때 프론트엔드와 백엔드 개발자들이 해당 설계에 맞게 각자 코드를 작성하기 시작한다. 물론 설계와 개발이 동시에 진행되기도 하고, 설계 내용이 중간에 수정되기도 한다.
오늘날 많은 회사 내 개발팀은 이런식으로 Web API를 설계하고 웹 서비스를 만든다. 그러나 문제가 하나 있다. 그건 바로 Web API는 어떻게 설계해도 동작하는 데는 아무런 지장이 없다는 것이다. 기능적으로 아무런 문제가 없다고 해도 Web API를 아무렇게나 설계해도 되는 것은 아니다. Web API가 잘 설계되었는지에 관한 기준으로는 보통 REST API라는 기준이 사용되고 있다. 많은 개발자들이 Web API를 개발할 때 이 REST API를 준수하기 위해 노력하고 있다.
'~2023.02 > JS' 카테고리의 다른 글
Content-Type (0) | 2022.06.04 |
---|---|
이벤트 타입 정리 (0) | 2022.06.03 |
자바스크립트 객체 표기법과 JSON 문법의 차이 (0) | 2022.06.02 |
자바스크립트에서 세미콜론(;) 사용 (0) | 2022.06.02 |
자바스크립트 동작원리 (0) | 2022.06.02 |