[CS] 서버와 클라이언트
최근 next 프로젝트 개발을 하면서, "서버"라는 개념에 대해 너무 무지하고 있다는 생각이 들었다.
모호하게는 알고 있었으나, 자세히 알려고 하지 않았던 것 같다.
아 언젠가는 알게 되겠지,,,, 라는 생각 하지말고 얼른 얼른 공부해보자.
서버와 클라이언트의 상호작용
서버와 클라이언트는 컴퓨터 2대끼리 통신을 하는 것이다.
어떤게 서버 컴퓨터고 어떤게 클라이언트 컴퓨터는 무엇이 설치되어 있는지를 보면 된다.
웹 브라우저가 설치된 컴퓨터를 클라이언트,
웹 서버라는 소프트웨어가 설치되어 있는 컴퓨터를 서버로 정의할 수 있다.
우리가 웹 브라우저(웹 클라이언트)를 키고,
웹 브라우저의 주소창에 https://www.naver.com
포털 사이트를 입력하고 엔터를 친다면,
그 주소에 해당되는 서버 컴퓨터에게 https://www.naver.com
의 웹 페이지를 요청하게 된다.
그 서버 컴퓨터에는 웹 서버 소프트웨어가 설치되어 있는데, 웹 서버가 그 요청을 받아,
서버 컴퓨터에 저장되어 있는 웹 페이지 문서를 읽은 뒤, 그것을 다시 클라이언트 컴퓨터에게 쏴준다.
즉, 클라이언트는 요청하고 서버는 응답해준다.
웹서버
웹서버를 하드웨어 관점, 소프트웨어 관점에서 다시한번 정의해보자.
하드웨어적인 관점에서, 웹서버는 웹서버 소프트웨어를 가지며, 웹 페이지를 저장하는 컴퓨터다.
웹서버는 인터넷에 연결되어, 웹 서버의 웹 페이지 문서를 주고 받을 수 있도록 해준다.
소프트웨어적인 측면에서, 웹 서버는 클라이언트가 어떻게 웹 페이지에 접근하는지를 관리하는 관리자 역할을 해준다.
웹서버는 HTTP서버 형태로 존재한다.
위 https://www.naver.com
예시를 다시 생각해보자.
웹 클라이언트가 주소 창에https://www.naver.com
이라고 올바르게 웹 서버에 HTTP요청했을 때,
웹 서버는 요청된 웹페이지를 HTTP 응답을 해준다.
웹서버에 대해서는 다음 게시물에서 제대로 공부해보자
https://kimyk60.tistory.com/51?category=1029286
[CS] 웹서버 Apache, NginX
웹 서버에 대해 좀 더 깊이 있게 배워보자. 지난번에 서버란 웹서버 소프트웨어가 설치되어있는 컴퓨터를 서버라고 불렀었다. 그러면 이 소프트웨어는 무엇이고, 무슨 역할을 하는 걸까? 웹서버
kimyk60.tistory.com
참고 : (갓 생활 코딩) https://opentutorials.org/course/1688/9408