IT 공부

IT공부 #2

DvdHan 2022. 9. 2. 09:25

** 용어 지식 **

메소드 : 요청을 보낼때 쉽게 파악 있도록 '스티커' 붙여서 보낸다고 했지만 현업에서는 '메소드'라는 용어를 사용함.

함수 : 수학의 함수 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형식으로 주고 받는다.