프론트, 백을 막론하고 웹의 통신 과정은 매우 중요하다. 때문에 오늘 학습한 clent, server에 대해 정리해보도록 하겠다.
client
: 일반적으로 웹 브라우저(Internet Explorer, chrome, Firefox 등) 프로그램이 설치된 컴퓨터를 Client라고 한다. ( client 단어의 뜻처럼 사용자, 고객의 느낌)
server
: Client와 다르게, 웹 브라우저가 아닌 웹 서버가 설치된 컴퓨터를 뜻한다. (server 단어의 뜻처럼 정보 제공자의 느낌)
client
와 server
의 통신은 위와 같은 과정을 통해 진행된다.
필요한 정보를 얻고자 하는 client
(사용자)가 특정 주소에 해당되는 서버 컴퓨터에게 정보를 요청한다. (이때 정보는, client
가 알고 싶은 내용이 담긴 웹페이지 파일을 요청한다.)
server
(제공자)는 하드나 특정 저장 공간에 저장되어있는 웹페이지 파일을 읽어 client
측에 응답을 하게 된다.
위와 같은 관계는 인터넷이 연결된 환경에서 동작하는 게임, 앱에서 모두 적용이 된다.
✔ 예시로, 리그 오브 레전드 게임 다운로드 화면에서도, 사용자가 게임 이용을 위해 다운로드 받는 파일이
client
임을 알 수 있다.
위에서 다룬 내용은 사용자가 단지 server
측에서 제공하는 정보가 담긴 파일을 이용했을 때의 상황이다. 만일 특정 사용자가 본인이 작성한 웹페이지를 공유 및 배포를 하고자 할 경우 어떻게 해야할까?
사용자가 직접 Web server
를 설치하는 것이 아닌, Web server
를 빌려주는 Web hosting
업체를 이용하는 방법이다. 이를 통해 Web server
와 server
컴퓨터를 운용하지 않고도 타인이 이용하게끔 할 수 있다. (아래의 예시인 github
이외에도 2021 웹호스팅 시장 점유율에서 다양한 업체들을 확인할 수 있다.)
✔ wecode 1주차 과제로 작성했던 자기소개 페이지의 경우,
github
에서 제공하는web hosting
을 통해 배포를 할 수 있었다.
사용자가 직접 컴퓨터에 Web server
를 설치하는 것이다. 설치 후, 해당 URL
을 통해 접속이 가능케 할 수 있다. 본인은 아파치 임의로 실행해보았지만, 아직 Web server
에 대해 잘 모르고 충분한 이해가 되지 않았기에.. 이러한 방법이 있다는 것만 알고 일단 넘어가도록 하겠다...😢😢
서버와 클라이언트의 통신과정.. 깔끔한 정리 잘보고 가요!!!