intro
클라이언트 서버가 어떤 식으로 통신하는지, 그리고 이때 등장하는 API라는 것은 무엇을 의미하는지 알아보자
클라이언트와 서버의 통신
예를들어 카페 사장이 서버이고 손님이 클라이언트라 하자.
(보통은) 클라이언트가 커피를 주문해야 서버가 리소스를 전달한다.
Q. 간혹 서버에서 일방적으로 클라이언트에 정보를 전달하는 적이 있는데 어떤 경우인가?
음.. 아마 공지사항 같은것?
프로토콜
프로토콜은 통신 규약, 즉 약속임. 손님이 주문할때는 지멋대로 주문할 수 없듯 주문을 하기 위해서는 꼭 지켜야 하는 약속이 있음
웹 애플리케이션 프로토콜:HTTP
웹 애플리케이션 아키텍처에서는 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해 대화를 나눔
이때 나누는 메세지를 HTTP 메시지라고 부름.
프로토콜의 방법적인 측면에서는 예를들어 실제로 카페에 가서 클라이언트가 주문할때
사이렌오더로 주문하거나 알바에게 말하거나 아니면 키오스크로 주문하는등 여러 프로토콜이 있음!
한편 규약이라는 측면에서 프로토콜을 말해보자.
우편을 보낼 때 보내는 사람 받는 사람 등을 정확하게 보내지 않으면 반송됨!
주요 프로토콜
외울필요 없음... 상식선에서 알아두자.
API(Application Programming Interface)
메뉴를 주문할때 아메리카노 따뜻하게 ! 이러면 서버에서는 모름 그 서버의 주문 방법이 있으니까
아니 근데 우리가 서버 짠 사람도 아니고 서버의 사용 가능한 자원을 어떻게 파악하지?
=> 두둥... 바로 API문서를 읽어봐라!
API는 의사소통이 가능하도록 만들어진 접점!
보통 인터넷에 있는 데이터를 요청할 떄에는 HTTP라는 프로토콜을 사용해, 주소(URL, URI)를 통해 접글할 수 있음!
HTTP API 디자인을 잘 하는 방법
HTTP API 디자인에는 Beat Practice가 존재함.
예를 첨부함.
HTTP 요청에는 메소드라는 것이 있음. 이를 통해 사용자 관리 API에서 사용자를 추가해 달라고 요청하거나
지워달라고 요청할 수 있음
여기서 기억할것은
메소드(요청)의 관계인데
GET(read 조회), POST(create 추가), PUT 또는 PATCH(update 갱신), DELETE(delete 삭제) 다섯가지 꼭꼭 알고있기!
'코딩공부 > T.I.L' 카테고리의 다른 글
2022-01-27 크롬 개발자도구 Network 사용법 (0) | 2022.01.27 |
---|---|
2022-01-27 브라우저의 작동 원리(보이지 않는 곳) (0) | 2022.01.27 |
2022-01-27 클라이언트-서버 아키텍쳐 (0) | 2022.01.27 |
2022-01-26 fetch를 이용한 네트워크 요청 (0) | 2022.01.26 |
2022-01-25 Node.js 모듈 사용법 (0) | 2022.01.25 |