백엔드
클라이언트란?
- 사용자
- 프론트엔드
서버입장에서의 클라이언트는 이 두가지이다.
- 정적 페이지: 화면의 내용/데이터 등의 변동이 없음
- 동적 페이지: 데이터 처리/연산을 통해 화면과 데이터가 변함
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 설계가 웹 개발에 있어서 정말 중요한데 개념을 확실히 정리하고 넘어갈 수 있어서 좋았다.
키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프
'프로그래머스 풀스택 데브코스 > 데브코스 TIL' 카테고리의 다른 글
웹 풀사이클 데브코스 TIL 14일차 (1) | 2023.12.06 |
---|---|
웹 풀사이클 데브코스 TIL 13일차 (0) | 2023.12.05 |
웹 풀사이클 데브코스 TIL 11일차 (0) | 2023.11.29 |
웹 풀사이클 데브코스 TIL 10일차 (0) | 2023.11.28 |
웹 풀사이클 데브코스 TIL 9일차 (0) | 2023.11.24 |