[IT지식] API 와 JSON

🐷Jinie (juniorDeveloper)·2020년 9월 28일
0

개념정리

목록 보기
5/13

1. API

클라이언트가 서버에게 요청을 보냈을 때, 각자 다른 요청으로 보내면 서버가 알아듣기 어렵다.
즉, '체계'가 필요하다. 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계이다.
API는 서버개발자가 개발하고, 클라이언트는 API를 사용합니다.
API를 만들 때는 데이터를 주고 받는 기능도 함께 넣는다.

소프트웨어의 세계에도 적용할 수 있다.
API를 제공하는 다른 소프트웨어를 'SDK'라고 부른다.
:'소프트웨어를 개발하기 위한 도구' 라는 뜻.

⚒참고자료
API의 역할은?
1. API는 서버와 데이터베이스에 대한 출입구 역할을 한다.
: 데이터베이스에는 소중한 정보들이 저장되는데요. 모든 사람들이 이 데이터베이스에 접근할 수 있으면 안 되겠지요. API는 이를 방지하기 위해 여러분이 가진 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해줍니다.
2. API는 애플리케이션과 기기가 원활하게 통신할 수 있도록 한다.
: 여기서 애플리케이션이란 우리가 흔히 알고 있는 스마트폰 어플이나 프로그램을 말합니다. API는 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할을 합니다.
3. API는 모든 접속을 표준화한다.
API는 모든 접속을 표준화하기 때문에 기계/ 운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있습니다. 쉽게 말해, API는 범용 플러그처럼 작동한다고 볼 수 있습니다.

2. CRUD

' 타임라인에 사진을 올린다.'
Create : '올리는' 요청
Read : 사진을 '불러오는' 요청
Update : 사진을 '바꾸는' 요청
Delete : '지우는'요청
데이터를 다룰 때 큰 틀에서 보면 대부분의 요청이 이 4가지 요청에 해당한다.
개발자들은 데이터를 볼 떄 항상 CRUD의 관점에서 본다.
CRUD 중 없는 기능이 있는 기획이라면, 반드시 그 이유가 있어야한다.

2-1. GET/ POST

Create : POST
Read : GET
Update : PUT(데이터 전체를 바꾸고 싶을 때)/ PATCH(데이터 일부만 수정하고 싶을 때)
Delete : DELETE

3. 요청에 응답하기

요청에 대한 응답의 유형이 다양하다면, 문제가 발생할 수 있다.
따라서 이 때도 코드를 만들어 정의한다.

  • '잘 됐어' :
    200번대 코드로 표현
  • '잘 안됐어' :
    클라이언트 요청 때문에 잘 안된경우 -> 400번대 코드로 표현
    서버에 문제가 있는 경우 -> 500번대 코드로 표현


    ❗️흔히 볼 수 있는 404에러코드도 이런 원리로 볼 수 있다. 서버는 잘 돌아가고 있는데 클라이언트 요청에 알 수 없는 에러가 난다. 정의되지 않는 요청이다. 요청이 이상하다는 의미로 볼 수 있다.

응답에도 '데이터'가 있을 수 있다.

4. JSON

클라이언트가 '요청'을 보내고 서버가 '응답'을 하는 과정에서 데이터가 담길 수 있는데,
그 데이터에 넣을 수 있는 '기능'에는 여러가지 형식이 있다.
이 형식을 표준화 하기위해서 공통적인 형식을 채택해 사용한다.
그 중 하나인 'JSON'
❗️과거에는 'XML'이라는 형식이 널리 쓰였다.

⚒참고자료:
JSON 는 Douglas Crockford가 널리 퍼뜨린 Javascript 객체 문법을 따르는 문자 기반의 데이터 포맷.
JSON이 Javascript 객체 문법과 매우 유사하지만
딱히 Javascript가 아니더라도 JSON을 읽고 쓸 수 있는 기능이 다수의 프로그래밍 환경에서 제공된다.

profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글