본문 바로가기

Web

[Web 개념] API

API; Application Programming Interface

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

클라이언트

API

손님이 클라이언트, 즉 요청을 하는 역할이라면, 손님이 메뉴를 보고 요청을 할 수 있도록 중간다리 역할을 해주는 웨이터가 바로 API 입니다

서버

서버는 클라이언트의 요청에 대한 대응을 할 수 있어야 합니다. 실질적으로 요청을 처리해주게 됩니다. 요청을 처리할 때에는 해당 요청이 성공했는지 실패했는지 혹은 다른 상태인지를 알려주는 것도 포함됩니다. 그리고 데이터베이스와도 연결되어 있기 때문에 최종적으로 클라이언트가 원하는 데이터를 넘겨줄 수 있어야 합니다.

 

API 응답

사실 서버에서 응답을 보낼 때에 규칙처럼 정해진 형식은 없습니다. 경우와 상황에 따라 다르겠죠. 그러나 보통 접하게 될 수 있는 응답은 JSON 형식일 가능성이 높다

 

JSON

JSON (Javascript Object Notation) 에서 Javascript 는 파이썬처럼 하나의 프로그래밍 언어이므로 JSON 이란 말 그대로 자바스크립트 (Javascript) 에서 'Object' 를 표기하는 방식.

 

파이썬이 'Dictionary' 를 표기하는 방식과도 비슷

(Json과 Dict의 다른점은 Json의 key값과 value값에는 모두 ""표시가 되어있다.)

 

파이썬의 딕셔너리처럼 키-값 (Key - Value) 로 묶여져 있는 구조

{
  "glossary":{
    "title":"example glossary",
    "GlossDiv":{
      "title":"S",
      "GlossList":{
        "GlossEntry":{
          "ID":"SGML",
          "SortAs":"SGML",
          "GlossTerm":"Standard Generalized Markup Language",
          "Acronym":"SGML",
          "Abbrev":"ISO 8879:1986",
          "GlossDef":{
            "para":"A meta-markup language, used to create markup languages such as DocBook.",
            "GlossSeeAlso":[
              "GML",
              "XML"
            ]
          },
          "GlossSee":"markup"
        }
      }
    }
  }
}

 

'Web' 카테고리의 다른 글

[Web 개념] RESTful API  (0) 2021.07.30
[Web 개념] HTTP  (0) 2021.07.30