2023. 3. 15. 18:38ㆍ부트캠프/DevOps (TIL)
안녕하세요. 오늘은 클라이언트-서버 아키텍처부터 웹서비스 접근하기 위해 필요한 지식에 대해 공부해봤습니다.
먼저 클라이언트-서버 아키텍처부터 시작을 한다면, 간단한 예시을 보겠습니다.
제가 제일 좋아하는 음식은 장어덮밥입니다. 점심을 먹기위해 일본의 유명한 덮밥집을 간다고 해보죠.
음식점에 가면 무엇을 먼저 해야할까요?
음식을 주문 해야겠죠?
여기서 음식을 주문하는 제가 클라이언트입니다.
제가 주문(요청)한 음식을 받아서 맞는 응답을 해주는 사람이 서버입니다.
클라이언트는 서비스를 요청하는 '서비스 소비자'의 역할을 수행합니다
반대로 서버는 특정 서비스를 제공하는 '서비스 제공자'의 역할을 수행합니다.
이처럼 클라이언트와 서버는 서로 정보를 주고받는 관계입니다.
예를 들어 여러분이 노트북으로 구글에 접속한다고 했을 때, 노트북이 클라이언트가 되는 것이고,
스마트폰으로 접속을 한다면 스마트폰이 클라이언트가 되는 것입니다.
조금 더 정확히 말하자면 여러분이 사용하는 기기 내의 ‘웹 브라우저’ 또한 클라이언트입니다.
단지 노트북이 있다 해도 노트북 그 자체로 구글 페이지에 접속할 수는 없죠.
우리는 웹브라우저를 통해 웹사이트에 접속을 합니다.
웹 브라우저란 쉽게 말해 인터넷에 접속하기 위한 소프트웨어인데요, 웹 브라우저가 여러분의 요청을 서버에게 보내고, 서버로 받은 응답 정보를 다시 여러분에게 보여주는 일을 하는 것입니다.
우리가 흔히 사용하고 있는 크롬, 사파리, 엣지(IE), 파이어 폭스 등이 되겠습니다.
정리하자면 클라이언트가 정확히 의미하는 것은 ‘사용자가 사용하는 기기의 웹 브라우저’인 것입니다.
하지만 통상적으로 사용자가 사용하는 기기를 가리켜 클라이언트라고 하기도 하고, 사용자 자체를 클라이언트라고 부르기도 합니다. (업계에서는 줄여서 ‘클라’로 칭하기도 합니다)
우리는 구글 컴퓨터로부터 정보를 제공 받았다고 배웠습니다.
이때 ‘구글 컴퓨터’가 정확히 말하자면 서버입니다. 서버 또한 컴퓨터와 같이 하나의 하드웨어입니다.
우리의 컴퓨터에 브라우저라는 소프트웨어를 설치하는 것과 같이,
서버에도 웹 서버라는 소프트웨어를 설치하여 이 소프트웨어끼리 요청과 응답 통신을 하는 것입니다.
웹 시스템의 규모가 작은 경우 1대의 단일 서버로 존재할 수도 있지만 구글 등 전 세계로 서비스를 제공하는 대형 시스템의 경우 서버가 수백만 대가 모여있는 데이터 센터를 보유하고 있습니다.
구글의 경우 전 세계 대륙별로 데이터센터를 보유하고 있다고 합니다.
즉, 우리는 인터넷을 통해 우리 집 내 방에서 전 세계에 위치하고 있는 구글 서버와 실시간으로 소통하고 있는 것이지요.
서버 또한 정확히는 물리적인 하드웨어를 가리키지만 서버 내의 웹서버 소프트웨어 또한 서버라고 불립니다.
웹서버란 웹페이지를 사용자에게 제공하는 서버 소프트웨어로 여러분의 요청에 대한 응답하는 역할을 합니다.
즉, 우리가 앞에서 했던 구글 접속 및 검색에 대한 결과를 제공해 준 자의 정체는 바로 웹서버였습니다.
웹서버에는 다양한 종류가 있는데 대표적으로 아파치(Apache), 아이아이에스(IIS), 웹투비(WebToB) 등이 있습니다.
출처
07_Study(URL과 URI) (0) | 2023.03.15 |
---|---|
07_Study(프로토콜, 클라이언트, 서버, API) (0) | 2023.03.15 |
06_Study(시스템 모니터링(3)_lsof, netstat) (2) | 2023.03.14 |
06_Study(시스템 모니터링(2)_ifconfig) (0) | 2023.03.14 |
06_Study(시스템 모니터링(1)_uname, top) (0) | 2023.03.14 |