본문 바로가기
타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)/TIL

웹 풀사이클 데브코스 TIL 10일차 - REST API, url

by 슈크림 붕어빵 2023. 12. 5.

백엔드의 구조

 

클라이언트 <=> 웹서버<=> 웹 어플리케이션 서버<=> 데이터베이스

 

웹 서버는 정적 페이지에 대해 대응 => 정적 페이지: 화면의 내용/데이터 등의 변동이 없는 페이지를 말한다.

즉, 사람에 따라 달라지는 페이지가 아닌 변동이 없는 페이지이다. 프론트엔드의 화면단과 바뀌지 않는 화면을 다룬다.

 

웹 어플리케이션 서버는 동적 페이지에 대응 => 개개인에 맞게 데이터가 바뀌거나 데이터 처리나 연산이 이루어지는 페이지.

즉,  데이터가 추가되거나 삭제되는 등의 작업이 이루어지는 페이지이다.

 

 

API

API( Application Programming Interface)

정의는 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식이다! 

또는 API는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스라고도 말할 수 있다.

API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.

 

interface

중간에서 정보를 교환하는 공유 경계를 의미한다. 말 그대로 정보를 교화하기 위한 수단, 방법이다.

즉, 우리가 사용하는 휴대폰의 화면들, 마우스, 터미널등이 인터페이스이다.

gui: graphic user interface : 컴퓨터에게 명령을 내릴 때, 그래픽을 사용해서 명령을 내리는 방식
cli: command line interface: 명령어를 통해 컴퓨터에게 명령을 내리는 것 

 

HTTP를 지키자!

인터넷이라는 연결망 안에서 정보 공유를 하기 위해 만든 공간을 웹이라고 부른다.

그렇기에 인터넷을 돌아다니기 위한 규약을 지켜야한다. 즉, HTTP를 지켜야한다.

이 형식을 지키면 효율이 극대화된다.

 

REST API vs RESTful API

굉장히 잘 지킨 api를 RESTful API라고 한다.

 

REST API 규칙

 

  • 소문자 사용
  • (_) 언더바가 아닌 (-) 하이픈 사용
  • 마지막에 / 포함 X
  • 목적(메소드) 포함 X
  • 복수형 사용 ex) products
    • 복수형으로 하면 좋은 이유
      • 상품들 중에 id값을 가지는 개별 데이터라는 의미
      • 통일감

url

인터넷 상에서 웹페이지가 어디있는지 위치를 알려주는 것 뿐만 아니라 데이터 연산을 서버에 요청한다.

 

 

 

API 설계 예시

  • 상품 전체 조회 get: 도메인 주소/products
  • 상품 개별 조회 get: 도메인주소/products/{id}
  • 상품 개별 수정 put: 도메인주소/products/{id}