본문 바로가기

프로그래머스 풀스택 데브코스/데브코스 TIL

웹 풀사이클 데브코스 TIL 12일차

백엔드

클라이언트란?

  1. 사용자
  2. 프론트엔드

서버입장에서의 클라이언트는 이 두가지이다.

  • 정적 페이지: 화면의 내용/데이터 등의 변동이 없음
  • 동적 페이지: 데이터 처리/연산을 통해 화면과 데이터가 변함

API

Application Programming Interface

  • 만약 지하철 시간표 어플을 사용한다고 쳐보자.
    그렇다면 그 지하철 정보를 어떻게 얻을 수 있을까? 어플 개발자가 직접 지하철 데이터베이스에 접근할 수 있게 하는 것은 여러모로 문제가 많을 것이다. 직접 데이터에 접근하는 대신 API라는 인터페이스에 원하는 것을 요청하게 된다. 그렇다면 인터페이스는 또 무엇일까?

Interface

  • Inter + Face: 양쪽 + 마주한다
  • 중간에서 양쪽의 매개체가 되어주는 역할

REST API

  • 과거 API: 데이터를 아무렇게나 주고받음, HTTP 프로토콜 무시
  • REST API: HTTP 의 틀에 맞게 데이터를 주고받음
  • RESTful API: HTTP 규칙에 너무 잘 맞춰진 API

인터넷 상의 정보는 다 HTTP로

  • Head: 통신상태, 형태
  • Body: 전달받는 데이터, 화면 등등 혹은 요청할 때도 데이터와 목적을 전달할 수 있음

URL

  • Uniform Resource Locator
  • 인터넷에서 웹 페이지가 어디있는지 위치를 알려주는 주소
  • 웹페이지 뿐만 아니라 데이터 연산 요청을 보내는 방법

URL 생성 규칙

  • 소문자만 사용
  • 언더바(_)는 사용하지 않음, 하이픈(-)은 사용
  • 마지막에 / 포함하지 않음
  • 행위를 포함하지 않는다 = 목적을 포함하지 않음
  • 파일 확장자 포함하지 않음
  • 복수형을 사용

예시

  • 상품 등록 -> "POST" + /product
  • 전체 상품 조회 -> "GET" + /products
  • 전체 상품 삭제 -> "DELETE" + /products
  • 개별 상품 id 조회 -> "GET" + /products/{id} (ex. /products/1)
  • 상품 수정 -> "PUT" + /products/{id}
  • cf. 상품"들" 중에 id 값을 가지는 데이터 이므로 복수형으로 표현
  • 통일감도 줄 수 있음

후기

오늘은 API 설계에 대해 학습하였다.
REST API 설계가 웹 개발에 있어서 정말 중요한데 개념을 확실히 정리하고 넘어갈 수 있어서 좋았다.

키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프