API

이승수·2021년 10월 4일
0

1. API(Application Programming Interface)

프로그램들이 소통할 수 있는 인터페이스

Ex)
음식점에서 손님 : 클라이언트(요청을 하는 역할)
메뉴 : API
손님이 메뉴를 확인 후 주문
→ 웨이터가 주문 내용을 요리사에게 전달
→ 요리사가 음식을 조리
※ API는 실체가 없다
   웨이터 : API server(중간다리 역할)
   주방 : service server(요청을 처리해줌)

API응답의 형태 : JSON(Javascript Object Notation)
파이썬의 사전형태와 비슷

2. HTTP (HyperText Transfer Protocol)

컴퓨터들의 통신 규약 중 하나
정해진 규칙들을 하나의 규약(protocol)이라고 부른다
요청(HTTP Request)과 응답(HTTP Response)으로 나뉘어져 있다

  • HTTp Request
    보통 한 커퓨터가 다른 컴퓨터에 리소스 요청을 보낼 때 사용되는 말
    요청하는 컴퓨터 : 클라이언트 / 요청을 받는 컴퓨터 : 서버

  • CRUD에 사용되는 HTTP 메소드
    GET : 특정 리소스를 달라고 할 때에 사용
           (예시: 페이지 로딩할 때)
    POST : 서버 측의 특정 리소스를 저장할 때 사용
           (예시: 회원가입을 할 때에 특정 유저의 정보를 서버에 저장)
    PUT/PATCH : 서버 측의 특정 리소스를 업데이트 할 때 사용 PUT 은 데이터 전부를 바꿀 때, PATCH 는 부분적으로 변경할 때 사용
           (예시: 사용자 닉넴임 변경)
    DELETE : 서버 측의 특정 리소스를 삭제할 때 사용
           (예시: 유저 탈퇴)

  • HTTP Response(상태코드) 5개 종류
    100 번대 : 정보 응답
    200 번대 : 성공 응답
    300 번대 : 리다이렉션 메시지
    400 번대 : 클라이언트 에러 응답
    500 번대 : 서버 에러 응답

3. REST API (Representational State of Transfer)

웹은 REST를 적용할 수 있는 시스템이기 때문에 웹에서 활용하게 되는 Api가 REST의 가이드라인들을 다 따르면 해당 API를 RESTful API로 부를 수 있다

REST 아키텍쳐는 HTTP를 사용할 때 특정 가이드라인들을 제시
REST를 활용한닥 하면 HTTP의 특정 방식들을 사용해야 하는 것이 아니다. REST는 아키텍쳐 형식이라 HTTP를 직접적으로 간섭하지 않기 때문

profile
AI/Data Science

0개의 댓글