ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PM다마고치 그래서 API가 뭐야3?
    카테고리 없음 2020. 4. 16. 11:20

    드디어 API에 대해서 다룰 수 있게 되었습니다 (만세) 

     

    앞서 이용자가 클라이언트를 통해 서버를 접근할 때, 클라이언트에서 호출을 한다고 했는데 

    이 호출이 이루어지는 방법이 API(응용 프로그램 인터페이스) 입니다.

     

    HTTP/HTTPS와 같은 웹 프로토콜을 사용해서 네트워크를 통해 호출하는데, 접근 가능한 특정 URI(Uniform Resource Identifier, 표준 리소스 식별자)에 HTTP 요청을 보내고, 응답을 받아 필요한 정보를 얻어냅니다.

     

     

    PM다마고치가 개발자에게 요청을 할 때, 사내 메신저를 써서 이 자료 어디 있어요 물으면 개발자가 링크를 주는 것처럼 API를 써서 URI를 필요한 정보가 있는 위치를 얻고, 이를 통해서 필요한 정보를 얻습니다. API는 크게 3가지로 구성이 되어 있습니다. 

     

    • 인증 처리 : 액터(행위자)를 식별하는 처리 과정
    • 제어할 대상 : 리소스에 해당하며 URI로 표현
    • 제어 행위
      • 액션에 해당하며 주로 HTTP Method로 표현
      • CRUD (Create, Read, Update, Delete)

     

    리소스에 해당하는 URI는 주로 사람이 식별하기 쉬운 문자형태로 오른쪽에서 왼쪽으로 구조를 따라가도록 이름이 붙어 있는 것으로 보입니다. 종류는 네트워크 상 있는 위치(URL)의 경우와, 네트워크와 상관없는 위치(URN) 2개가 있습니다.  

     

    그런데 PM다마고치 같은 초보PM이 이미지를 교체하는 작업을 할 때, 그 교체하는 과정이 모든 사용자에게 보이면 회사와 상품에 대한 신뢰도가 떨어질 수 있습니다. 그리고 커머스 회사에서는 고객이 물품 배송을 위해 연락처, 배송지 등을 입력하거나 변경해야 할 수 있습니다. 만약 개발자가 멀리 있고, 다른 언어를 쓰고, 그래서 번역기가 돌아가는 메신저를 통해서만 소통할 수 있다면, 메신저를 통하지 않고는 일을 할 수 없습니다.   

     

    API의 구체적인 요청을 HTTP METHOD가 하는데, 쉽게 말하면 개발자에게 이거 어디 있어요? 지워주세요, 생성해주세요 라고 말을 하기 전까지는 개발자와 메신저로 연결되어 있어도 그것만으로는 웹페이지에 변화가 일어나지 않는 것과 같습니다. 

     

    • 요청 행 (Request Line)
      • Method : URI에 대한 제어 행위이자 액션
      • Request URI : 제어할 리소스
        • URI를 FQDN과 경로로 표현하는 방법
        • URI를 절대 경로로 표현하는 방법
      • HTTP Version : HTTP 버전, 주로 HTTP/1.1
    • 요청 헤더 (Request Header) : 쿠키나 킵얼라이브와 같은 HTTP 통신과 관련된 제어 정보나 메타 데이터
    • 메시지 바디 (Message Body) : 실제로 송수신하려는 데이터 부분

    이런 HTTP METHOD의 종류에는 아래와 같은 것들이 있습니다. 

     

    HTTP 메소드                        CRUD                              CRUE 의미                         의미

    POST Create 등록 리소스 생성
    GET Read 조회 리소스 조회
    PUT Update 수정 리소스 수정 (= 덮어씀)
    DELETE Delete 삭제 리소스 삭제
    HEAD Read 조회 HTTP 헤더, 메타 정보 취득
    OPTION Read 조회 지원 메소드 확인
    PATCH Update 조회 리소스 일부 수정
    TRACE - - 경로 확인
    CONNECT - - 프록시로 터널링 요구

     

    구체적으로 API를 통해 서버에 접근했을 때, 고객이 자신의 연락처와 집주소, 우편번호 등 신규 리소스를 생성할 수 있는 POST 같은 기능이 쓰이고, 이 정보를 불러와서 배송에 써야 할 때에는 GET으로 리소스를 식별하여 조회합니다. 또 배송지 정보 등 이미 있는 정보를 수정할 때에는 리소스의 키를 지정해서 식별해서 PUT을 써서 덮어쓰고요. 삭제할 때에는 DELETE로 식별키를 포함시켜서 API로 호출을 합니다. 

     

    헉헉 이렇게 온라인 커머스의 기초가 되는 상점이자 공간에 대한 기본 구조를 이해했습니다. DNS 서버 등 더 자세한 내용을 알고 싶으신 분들은 

     

    https://jungwoon.github.io/infra,%20api,%20cloud/2019/01/31/Api-Summary/ PM 다마고치가 이해하는데 참조한 요 사이트를 보시면 좋을 것 같아요 

     

Designed by Tistory.