4장] API 와 JSON
🚨 API
• 요청을 구분할 수 있도록 하는 체계
• 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계
• 클라이언트 컴퓨터에서 요청을 보내고 서버 컴퓨터에서 요청을 받아서 응답을 준다
• 서버는 주소에 따라 요청의 종류를 정해놓아야 한다
• API 는 서버 개발자가 개발하고, 클라이언트 개발자는 그 API 를 사용한다
• API 를 통해 요청과 응답을 주고 받을 때는 데이터도 같이 담긴다
ex) 서버주소/A 의 형태로 요청이 오면 로그인 기능을 수행하고 응답
ex) 서버주소/B 의 형태로 신호를 보내면 서버가 회원 가입 기능을 수행하고 응답
API 의 4가지 요청 요소 : CRUD
• C(Create) : 생성 요청(사진을 올리는 요청)
• R(Read) : 읽기 요청(사진을 불러오는 요청)
• U(Update) : 변경 요청(사진을 바꾸는 요청)
• D(Delete) : 삭제 요청(사진을 지우는 요청)
🚨 RESTful API
- CRUD 요청은 각각의 주소를 가져서 CRUD 별로 주소가 생기면 주소가 너무 많아지고 관리가 힘들어져 문제 발생
=> 이를 보완하고자 RESTful API 라는 체계를 만들어서 사용
• CRUD 를 하나의 주소로 관리
• 요청을 보낼 때 어떤 요청을 보냈는지 파악할 수 있게 메소드를 붙여서 전송하는 방식
RESTful API 의 5가지 메소드
• Create(생성해줘) : POST
• Read(불러와 줘) : GET
• Update(바꿔줘) : PUT(전체) / PATCH(일부)
• Delete(지워줘) : DELETE
응답코드
• 클라이언트가 서버에 요청(Request)을 하면 서버가 응답(Response) 을 클라이언트 쪽을 전달하는데
응답코드(HTTP 상태코드)와 함꼐 데이터를 담을 수 있다
• HTTP 상태코드
- 200(성공),
- 400번대 코드(클라이언트의 요청에 문제가 있는 경우),
- 500번대 코드(서버에 문제가 있는 경우)
🚨 SDK (Software Development Kit)
• API 를 제공해주는 다른 소프트웨어. 소프트웨어를 개발하기 위한 도구
ex) 구글 지도 :
- 구글에서 만든 SW 소프트웨어
- 다른 회사들이 구글에서 제공하는 지도 SDK 를 설치하면 자신의 소프트웨어에 구글 지도 기능을 넣을 수 있다
- 이 SDK 에서 제공해주는 API 들을 통해 구글 지도에 요청을 보낼 수 있다
🚨 JSON
• 요청을 보낼 때, 혹은 응답을 받을 때 각 요청이나 응답마다 형식이 다르면
그 형식을 처리하기 위한 각자의 코드를 적어줘야 한다.
그렇게 되면 요청이 들어오는 개수만큼 대응코드를 따로 작성해야 하기 때문에 비효율적이다
-> 그래서 데이터를 주고받을 때 유명한 형식으로 다같이 사용하도록 탄생한 형식이 JSON 형식이다
• 서버에서 클라이언트로 데이터를 보낼 때 사용하는 형식
• 과거에는 XML 이라는 형식이 널리 쓰였고 지금도 종종 쓰이긴 하지만, 현재 가장 유명한 형식은 JSON 이다
• 중괄호({..}) 로 시작하고, 콜론(:) 으로 구분하는 키(Key)와 값(Value) 으로 이루어져 있다
{ "id" : "myid", "name" : "eun" } |
{ "id" : "myid", "name" : "eun" } |
• 대괄호([..]) 로 배열 표시 가능
{ 키1(Key) : 값1(Value), 키2(Key) : 값2(Value), 키3(Key) : [값3(Value), 값4(Value), 값5(Value)] } |
{ "category" : "음료", "temp" : "ice", "items" : ["아메리카노", "카페라떼", "바닐라라떼"] } |
• JSON 은 마치 데이터를 주고받는 주머니와 같은 개념으로,
최근 개발자들은 클라이언트와 서버가 요청과 응답을 주고 받을 때 필요한 데이터들을 JSON 형식으로 주고받는다
🚨 깃북(GitBook)
• 깔끔한 API 문서 작성을 도와주는 서비스
🚨 Open API
• 몇몇 서비스들은 서버가 제공하는 다양한 기능들을 일반 사람들이 쓸 수 있게 오픈해 둔 API
• 그리고 개발자들은 그 서비스가 제공하는 API 문서를 보며 그 기능을 사용
ex) 네이버 맛집 검색 애플리케이션 :
검색 결과에 네이버 블로그 후기 => 네이버 블로그에 들어가본다 => 네이버 블로그 영향력↑
- 많은 사람들이 포털에 방문하면 힘과 돈이 생긴다. API 사용의 경우 특정 횟수 이상은 돈을 받기도 한다.
- 비즈니스 모델이 될 수도 있고 프리미엄 기능에 대한 API 를 따로 정해놓는 방식으로도 돈을 벌 수 있다
-> 다양한 이유로 회사는 서버의 API 를 오픈한다
5장] 애플리케이션
🚨 애플리케이션
애플리케이션
- 애플리케이션 : 설치해서 사용하는 모든 프로그램
- 윈도우에서는 이를 응용 프로그램이라 불렀으나, 어느 순간 스마트폰이 등장하고, 앱, 애플리케이션 이라는말이 퍼지기 시작
- 데스크톱에 설치하는 프로그램 : 응용 프로그램, 스마트폰에 설치하는 프로그램 : 앱, 어플, 애플리케이션 라고 부른다.
- 애플리케이션은 운영체제 위에 올라가는 프로그램, 설치해야 하는 프로그램, 응용프로그램, 애플리케이션, 앱 모두 같은 그룹이다.
앱 생태계
- 모바일의 앱 마켓 : 애플리케이션을 올려놓고 판매하는 시장
- ex) 애플(iOS) : 앱스토어 , 구글(안드로이드) : 구글 플레이 스토어
감사합니다 8-)
'📖 책 도서' 카테고리의 다른 글
IT도서 : 비전공자를 위한 이해할 수 있는 IT지식 - [8장] 프레임워크와 라이브러리 / [9장] 협업, 소스관리, 디자인 (0) | 2022.02.27 |
---|---|
IT도서 : 비전공자를 위한 이해할 수 있는 IT지식 - [6장] 웹(Web) / [7장] 데이터베이스와 이미지 처리 (3) | 2022.02.27 |
IT도서 : 비전공자를 위한 이해할 수 있는 IT지식 - [2장] 프로그래밍 언어 & 운영체제 / [3장] 네트워크, 클라이언트, 서버 (0) | 2022.02.27 |
IT도서 : 비전공자를 위한 이해할 수 있는 IT 지식 (3) | 2022.02.27 |