IT/IT지식

비전공자를 위한 이해할 수 있는 IT지식 (4장 정리- API와 JSON)

시작은코딩 2021. 7. 14. 00:14
728x90
  • API

서버 개발자가 개발, 클라이언트 개발자는 그 API를 사용.

여기로 요청을 보내면 이러한 응답을 주고, 저기로 요청을 보내면 저러한 응답을 줄게 라고 정해놔야한다.

그래야 요청하는 쪽에서 정확한 곳에 요청을 보낼 수 있기 때문.

'정확한 곳'에 해당하는 주소는 '서버주소/A' 의 형태로 정의됨.

예를들어 서버주소/A 신호를 보내면 로그인 기능을 수행, 응답

서버주소/B 신호를 보내면 회원 가입 기능 수행, 응답

잘 되었는지, 문제가 있는지, 무슨 문제가 있는지 등등을 알려줌.

 

 

  • CRUD

타임라인에 사진을 올리는 요청을 했을 때,

Create - 사진을 올리는 요청

Read - 사진을 불러오는 요청

Update - 바꾸는 요청

Delete - 지우는 요청

대부분의 요청이 4가지 요청에 속한다.

초보 개발자들이 CRUD의 관점으로 기획할 수 있도록 데이터를 바라봐야함

 

CRUD별로 주소가 생긴다.

예를들어

C - (올려줘) - 컴퓨터주소/timelinecreate

R - (불러와줘) - 컴퓨터주소/timelineread

U - (바꿔줘) - 컴퓨터주소/timelineupdate

D - (지워줘) - 컴퓨터주소/timelinedelete

 

그런데 이런 식으로 주소를 구성하면 주소가 10,000개 있다고 가정 시,

몇몇 주소가 겹칠 수 있다. 체계적으로 나뉘지 않을 수 있다.

 

그래서 체계적인 API 관리를 위해

REST(Represnetational State Transfer) API, 즉 RESTful API 사회운동이 만들어짐.

CRUD를 하나의 주소로 관리. 대신 요청을 보낼 때 어떤 요청인지 스티커를 붙여서 전송.

Create (생성해줘): POST

Read (불러와 줘): GET 

Update (바꿔줘): PUT(전체)/PATCH(일부) 

Delete (지워줘): DELETE

POST, GET, PUT, PATCH, DELETE 스티커 5개는 정말 자주 쓰이므로 꼭 알아둬야함.

 

컴퓨터는 코딩된 대로 생각하고 2가지 경우로 응답한다. 잘 됐어, 잘 안됐어.

그런데 잘 됐어, 잘 안됐어도 체계적으로 관리가 필요해서 표현을 정함

200번대 코드(201, 202 등)은 잘 됐어

400번대 코드(401,402 등)은 클라이언트의 요청에서 문제가 있는 경우

500번대 코드(501, 502 등)은 서버의 문제인 경우

 

200,400,500번대가 빈번하게 쓰임

 

 

  • SDK (Software Development Kit)

소프트웨어 개발하기 위한 도구

예를 들어

구글 지도 - 구글에서 만든 소프트웨어

다른 회사에서 구글 지도를 사용하고 싶으면 구글 지도 SDK를 설치하면 자신의 소프트웨어에 구글 지도 기능을 넣을 수 있음. SDK에서 제공하는 API를 통해 구글 지도에 요청 보내기도 가능.

 

 

  • JSON

요청과 응답을 주고받을 때의 형식

형식이 정해져 있지 않으면 무한개의 형식을 일일이 확인할 수 없지. 그래서 유명한 형식을 다 같이 쓰기로 약속.그 유명한 형식이 바로 JSON.

마치 데이터를 주고받는 주머니 같음.

'클라와 서버는 요청과 응답을 주고받고, 그때 필요한 데이터들을 JSON 형식으로 주고받는다.'

 

 

  • 대기업들이 API를 공개하는 이유

영향력의 힘!

 

 

정리한 내용은 모두 비전공자를 위한 이해할 수 있는 IT지식 책에서 발췌하였습니다.

문제가 될 시 삭제하거나 개인만 볼 수 있도록 조치하겠습니다.