IT공부 #2
** 용어 지식 **
메소드 : 요청을 보낼때 쉽게 파악 할 수 있도록 '스티커'를 붙여서 보낸다고 했지만 현업에서는 '메소드'라는 용어를 사용함.
함수 : 수학의 함수 f(x)=y 처럼 요청에따라 결과가 나오는 개발자의 세상에서도 이를 함수라고 부름.
파라미터, 요청 변수 : 함수에서는 x를 변수, 파라미터라고 부르는데 id, password 를 '로그인 요청'에 필요한 '파라미터', '요청 변수'라고 부름.
메소드를 보낼때 요청 변수
-------------------------------------------------------------------------------------------------------------------
1. API
API : 클라이언트 컴퓨터(요청자), 서버 컴퓨터(응답자) 와 같이 서로 다른 프로그램 사이에
요청 및 응답을 주고 받을 수 있게 만든 체계이며 응답자가 받은 요청을 정확히 구분하기 위해 만들어진 체계.
서버 컴퓨터는 A로 요청하면 A 정보를, B로 요청하면 B 정보를 줄 수 있도록 사전에 정해
요청자가 정확히 원하는 정보를 얻을 수 있도록 정확히 요청할 곳을 정해두는데 이곳이 IP주소이며 이는 서버 개발자가 담당한다.
즉 API는 서버 개발자가 개발하고 클라이언트 개발자는 그 API를 사용한다.
추가적으로 API를 만들때는 데이터가 포함된다.
EX) 로그인 요청 - 아이디+패스워드 데이터,
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------클라이언트 서버의 관점
서버에 요청을 할때에는 요청자는 CRUD라는 4가지 요소를 포함시켜야 한다. 각각의 요청들은 각각의 주소를 가진다.
ex) (서버 컴퓨터 주소 or 도메인 네임)111.111.111.111/timelinecreat, /timelineread, / timelineupdate, /timelinedelete
ex) 타임라인에 사진을 올리는 요청.
C - Create / 사진을 '올리는' 요청
R - Read / 타임라인에 사진을 '불러오는' 요청
U - Update / '바꾸는' 요청
D - Delete / '지우는' 요청.
하지만 이러한 형태의 주소가 많아지면 관리하기 힘들기때문에 좀더 체계적으로 관리하기위한 개발자간의 사회적 운동으로 RESTful API이 생겨남.
RESTful API에서는 CRUD를 하나의 주소로 관리하며, 요청을 보낼때 하기와 같이 어떤 요청을 보냈는지 파악할 수 있도록 5종류의 스티커 목적에 맞게 붙임.
Create(생성해줘) : POST
Read(불러와줘) : GET
Update(바꿔줘) : PUT(전체) / PATCH(일부)
Delete(지워줘) : DELETE
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------서버의 관점
서버 개발자의 입장에서는 요청을 받은 뒤 2가지의 응답으로 정리한다.
잘됐어, 잘 안됐어. 하지만 서버쪽의 다양한 부서에서 각기 다른 형태로 응답할 경우를 대비하여
잘됐어 : 200번대 코드로 지정하고 잘 안됐어의 경우 클라이언트 요청에 문제가 있을 경우 400번대 코드, 서버 문제의 경우 500번대 코드로 지정함.
쉽게말해 API는 기능을 사용하기 위해 특정 주소로 요청하면 거기에 알맞게 응답해주는 소프트웨어끼리의 체계.
SDK : API를 제공해주는 다른 소프트웨어를 명칭.
EX)
A소프트웨어 개발중 번역 기능이 필요할 경우 번역 기능을 포함한 B소프트웨어에서 해당 기능이 필요하다.
이 상황에서 B는 SDK(Software Development Kit)가 된다.
A소프트웨어 개발중 구글에서 만든 지도가 필요하면 구글에서 제공하는 지도 SDK를 설치하면 본인 소프트웨어에서도 쓸 수 있다.
이 SDK에서 제공해주는 API를 통해 구글 지도에 요청을 할 수 있음.
2. JSON
API에서 클라이언트가 서버로 보내는 요청, 서버에서 클라이언트로 보내는 응답에 데이터가 담길 수 있다는 점을 배움.
요청과 응답간에 데이터를 넣을 수 있는 '기능'을 같이 개발해야함. 하지만 이 데이터를 넣는 기능에 너무 많은 형식이 있음.
그래서 가장 유명한 형태인 JSON을 만들어서 응답하는 API에 넣을 데이터의 형식으로 활용함.
Ex) JSON 형식 로그인 요청 예시
{ {
키1(Key):값1(Value) "id":"han2041126"
"pw":"david"
} }
위의 경우가 기본이고 여러 정보를 한번에 불러와야 할 경우에는 []를 활용함.
{
"음료":[음료1, 음료2, 음료3]
}
클라와 서버는 요청과 응답을 주고받고, 그때 필요한 데이터들을 JSON형식으로 주고 받는다.