[IT 관련 개념 및 지식] API에 대하여 (1)

SeongEon Kim·2022년 4월 22일
0

IT기본지식

목록 보기
4/11

API에 관한 몇 가지 개념에 대해 알아보자.

API (Application Programming Interface): 컴퓨터나 소프트웨어에게 백날 "로그인 시켜줘", "원하는 이미지를 보여줘"라고 말해도 컴퓨터는 한글을 모르기에 그 요청에 대해 제대로 반응할 수 없다. 즉, 요청을 구분할 수 있는 체계가 필요하다. API는 클라이언트, 서버와 가은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계이다.

아래 그림은 클라이언트와 서버 사이의 API를 나타낸 그림이다.

서버의 기능, 서버 프로그램, 서버 주소 모두 서버 개발자의 주도 하에서 개발된다. 클라이언트 프로그램은 정해진 주소에 요청을 보내게 된다. 즉, API는 서버 개발자가 개발하고, 클라이언트 개발자는 그 API를 사용합니다.

  1. 클라이언트 관점

    CRUD 요청
    C : CREATE (생성해주세요) - POST
    R : READ (불러와 주세요) - GET
    U : UPDATE (바꿔주세요) - PUT(전체)/PATCH(일부)
    D : DELETE (지워주세요) - DELETE

    SQL 배울때 배웠던 명령어들인데, 이 명령어들이 클라이언트 소프트웨어에서 서버들에 요청을 할때 사용하는 주요 명령어라는 사실을 지금 알았다...

    이 4가지 요청을 제대로 기억하고, 활용해야 실수하지 않는다.

  2. 서버 관점
    클라이언트로 부터 요청을 받았을때 서버는 그 요청에 대한 답을 해줘야 한다.
    그 요청을 응해서 원하는 대답을 줄지 아니면, 요청을 거절할지 답을 해야 한다.
    요청에 긍정적으로 대답하는 이유와 부정적으로 대답할 이유가 상황에 따라 다르므로, 이 상황에 맞는 대답을 코드로 정해서 보여준다.

    크게 다섯가지로 분류하며 각 분류는 100개의 코드 사유가 있다.

    모든 HTTP 응답 코드는 5개의 클래스(분류)로 구분된다. 상태 코드의 첫 번째 숫자는 응답의 클래스를 정의한다. 마지막 두 자리는 클래스나 분류 역할을 하지 않는다. 첫자리에 대한 5가지 값들은 다음과 같다:

1xx (정보): 요청을 받았으며 프로세스를 계속한다
2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다
3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다
4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다
(대표적으로 404 에러 : 서버는 문제없이 잘 돌아가고 있는데 요청이 이상하다는 에러)
5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다

참고로, 요청과 응답을 할때 자주 접할 수 있는 단어가 파라미터(Parameter)이다. 이는 메소드를 보낼 때 요청변수에 해당하한다.
쉽게 설명하면 y=ax 에서 x, 즉 변수값이 파라미터 이다. 잊지말자.

profile
꿈을 이루는 사람

0개의 댓글