처음부터 차근차근

서버-클라이언트 통신 이해 본문

웹개발기초

서버-클라이언트 통신 이해

HangJu_95 2023. 5. 4. 16:21
728x90

웹 개발을 하면서 데이터를 주거나, 받는 API를 자주 볼 것이다.

이를 위해서는 서버-클라이언트 통신와 API를 알아야 한다.

 

 - 서버와 클라이언트의 이해

레스토랑을 예시로 들어보자.

레스토랑에서 우리는 손님으로써 주문을 한다. -> 웹으로 따지면 이것은 주문, 즉 요청을 하는 주체를 Client라고 한다.

주문을 받아서 주문에 맞게 음식을 내어주는 사람을 요리사라고 한다. -> 이것을 담당하는 부분을 Server라고 한다.

즉, 서버는 특정 서비스를 제공하는 '서비스 제공자'의 역할을 하고 클라이언트는 서비스를 요청하는 '서비스 소비자'의 역할이다.

클라이언트와 서버는 서로 정보를 주고 받는 관계이다.

 

 - API란 무엇인가?

API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 ‘대화’하여 휴대폰에 매일 최신 날씨 정보를 표시합니다.

 

API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의합니다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있습니다.

 

따라서 API는 은행 창구와도 같은 것이라고 생각하면 된다.

 

https://aws.amazon.com/ko/what-is/api/

 

API란 무엇인가요? - 애플리케이션 프로그래밍 인터페이스 설명 - AWS

GraphQL은 API용으로 특별히 개발된 쿼리 언어로서, 클라이언트에게 요청한 데이터만 제공하는 것을 우선으로 합니다. 또한 API를 빠르고 유연하며 개발자 친화적으로 만들도록 설계되었습니다. RES

aws.amazon.com

 

이제 예시로, 서울시의 미세먼지 OpenAPI를 접속해볼 것이다.

http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99

 

해당 API는 JSON으로 되어 있으며, JSON은 Key:Value 값으로 이루어져 있다.

참조. 스파르타코딩클럽

이것을 통해 서버→클라이언트를 확인 할 수 있다.

 

- 클라이언트 → 서버

 

클라이언트가 요청 할 때에도, "타입"이라는 것이 존재한다.

 

* GET → 통상적으로! 데이터 조회(Read)를 요청할 때 예) 영화 목록 조회

* POST → 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때

예) 회원가입, 회원탈퇴, 비밀번호 수정

'웹개발기초' 카테고리의 다른 글

jQuery append 사용법  (0) 2023.05.04
Javascript의 반복문, 조건문  (0) 2023.05.04
jQuery 사용방법  (0) 2023.05.04
웹개발에 Javascript를 쓰는 이유  (0) 2023.05.04
Bootstrap 사용방법  (0) 2023.05.04