-
API와 REST API공부/코딩용어 2023. 4. 12. 19:00반응형
** API와 REST API **
📍Interface
서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면.
👉 서로 다른 두 개체 사이에서 상호작용을 가능하도록 하는 것
👉 사용자 - 컴퓨터 사이의 인터페이스는 키보드, 마우스 등을 통해 이루어진다.
👉 시스템 간의 인터페이스는 API를 통해 이루어진다.
📍UI (User Interface)
컴퓨터와 사람 간의 상호작용의 접점
👉 컴퓨터 또는 디바이스와 사람 간의 상호작용을 할 때 보는 시각적 요소
- GUI 그래픽 사용자 인터페이스 : 그래픽을 사용해 사용자 - 컴퓨터 간 상호작용을 가능하게 하는 인터페이스
- WUI 웹 기반 인터페이스 : 인터넷을 통해 제공되는 소프트웨어에서 사용자와 상호작용 시
웹 브라우저를 통해 제공되는 인터페이스
📍API (Application Programming Interface)
소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단
👉 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법(→ 코드) (식당 메뉴판 같은 것)
👉 프로그램 간 상호작용을 가능하게 하는 인터페이스
- PUBLIC API : 누구나 사용가능한 공개 API
- PRIVATE API : 사내에서 사용하는 API
- PARTNER AP : 정해둔 사용자만 사용하는 API
👉 웹 외에도 모든 프로그램은 API를 가질 수 있다.
- Windows API 윈도우 운영체제 기능들을 사용가능
- DB 관리 API 등 다양한 API가 존재한다.
📍REST API ( Representational State Transfer API)
REST는 서버와 클라이언트 간 통신을 위해 자원을 효율적이고 안정적으로 전송하기 위한 아키텍처를 말한다.
더보기*아키텍처 의미
: 시스템 구성을 설계하고 구현하는 데 필요한 원칙, 규칙 및 구성 요소의 집합을 의미함.REST API는 REST 아키텍처의 원칙을 따르는 API로 자원을 URI로 식별하고,
HTTP프로토콜을 기반으로 하기 때문에, HTTPT의 메서드를 이용해 해당 자원에 대한 동작을 수행한다.
더보기*URI (Uniform Resource Identifier)의 의미
: 인터넷에서 사용되는 모든 자원을 식별하는 방법으로 문자열의 형태로 표현된다.
URI는 URL과 URN으로 나눌 수 있다.
- URL (Uniform Resource Locator) :
특정 자원의 의치 지정하며, 프로토콜/호스트이름/포트번호/리소스 경로로 구성된다.
예) https://www.example.com/my-page - URN (Uniform Resource Name) :
특정 자원의 이름을 지정, URL과 달리 자원의 위치에 대한 정보는 포함하지 않는다.
예) "urn:isbn:0-486-27557-4"는 국제 표준 도서번호(ISBN) "0-486-27557-4"를 가리키는 URN
👉 RESTful하게 만든 API는 요청을 보내는 주소만으로 어떤 목적을 위한 요청인지 알 수 있는 것
👉 목적에 따라 HTTP 메서드를 구분해 사용한다는 것
👉 결국 REST API는 HTTP요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할지에 대한 개발자들 사이의 약속
CRUD (데이터 조작하는 기본 작업) HTTP 메서드 Create 생성 POST Read 조회 GET Update 수정 PUT(정보 전체) / PATCH (일부 변경) Delete 삭제 Delete 📍REST API 설계하기
* 작명시 표준이 필요하다
- URL에서는 동사를 사용하지 않는다.
ex) /movies, /movies/고유 식별자 - /moives/inception - 동사를 사용하는 대신 HTTP 메소드를 활용해 의미를 전달한다.
ex) POST /movies, GET /movies
GET /movies/inseption (영화 인셉션에 대한 정보 열람)
ex) DELETE(삭제)나 PUT(수정)은 전체에 하지 않으므로
DELETE /moives/inception, PUT /moives/inception - 검색이나 필터를 처리하기 위해서는 쿼리 파라미터(query parameter)를 이용한다.
👉 매번 url을 만드는 것보다 훨씬 좋다.
ex) /movies?min_rating=9.8, /movies?release_date=2021
ex) page도 추가할 수 있음 /movies?page=5
- 파라미터 : 일반적으로 특정 id나 이름으로 조회할 때 사용
- 쿼리 : 키워드를 검색하거나 요청을 할 때 필요한 옵션을 전달할 사용한다.
/profiles/velopert /*파라미터*/ /about?details=true /*쿼리*/
*참고 사이트:
'공부 > 코딩용어' 카테고리의 다른 글
라이브러리 vs 프레임워크 (0) 2023.01.10 운영체제, 코딩, HTTP/HTTPS, 웹 서버와 브라우저 (1) 2023.01.09