
서버라는 단어는 지금까지 많이 들어본 단어이지만, '서버'라는 것에 대해 자세히 알아본적은 없었다.
먼저 '서버'란? '서버'의 사전적 의미로는 '서비스를 제공하는 사람'이지만, 현재 IT, 인터넷 시대에서는 비슷하면서 다른 의미로 볼 수 있다. 바로 '네트워크에서 다른 컴퓨터나 소프트웨어와 같은 클라이언트에게 서비스를 제공하는 컴퓨터'이다. 다음으로 한번 클라이언트와 서버에 대해 자세히 알아보자.
서버는 클라이언트로부터 요청, 즉 Request를 받아야 처리하거나 정보 반환 같은 서비스를 제공한다.
과정을 예시로 보여주면
1.클라이언트=>서버
:내가 사진을 보내면 이게 어떤 사진이지 알려줘라고 요청
2.서버
:요청 받아 이 사진이 뭔지 판단
3.서버=>클라이언트
:사진을 판단하고 그 값(결과)를 다시 클라이언트에게 반환
4.클라이언트
:값(결과)를 받아 이 이미지가 무엇인지 화면에 뜬다.
위는 내가 프로젝트를 하면서 해봤던 예시이고, 웹브라우저로 예시를 들면 밑에 그림과 같다.

서버는 서비스의 종류에 따라 역할이 정해진다. 현재 컴퓨터에는 수많은 서비스들이 존재한다.그래서 이번에는 여러 종류의 서비스가 무슨 역할을 하는지 알아볼 것이다.
1.클라이언트 서버
=>클라이언크와 서버로 나뉘는 네트워크 아키텍처를 뜻한다.여기서 아키텍쳐란? 서비스가 어떻게 구성되며 어떻게 동작이 되는지를 표 현한 것이라 생각하면 된다.웹 시스템도 확장된 '클라이언트 서버 시스템'으로 분류되나, 일반적으로 클라이언트 서버 시스템이라 하면 클라이언트가 설치되어 화면을 처리하고 서버에서는 자료를 처리하는 시스템을 말한다.
2.웹 서버(소프트웨어)
=>웹 브라우저 클라이언트로부터 HTTP요청을 받아들이고, HTML문서와 같이 웹페이지에서 흔히 찾아 볼 수 있는 자료 콘텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램이다. 웹 서버의 역할은 웹페이즈를 구성하기 위해 필요한 웹 리소스를 제공, 요청과 응답 처리, 데이터 베이스와 상호작용하여 웹 페이지를 동적으로 생산하고 사용자의 요청을 대응하는 웹 애플리케이션을 호스팅, 보안 기능, 클라이언트의 접속 이력을 로그로 기록하고 서버의 상태와 성능을 모니터링하는 로깅과 모니터링 등등이 있다.
3.파일 서버
=>워크스테이션이 접근할 수 있는 컴퓨터 파일을 공유하고 있는 기억 공간의 위치를 제공하는 것이 주 목적을 가진 네트워크에 추가된 컴퓨터를 말한다. 워크스테이션? "메인 컴퓨터에서 네트워크로 연결된 개인 컴퓨터까지를 모두 포함하여 말하는 것"이다. 파일 서버는 어떠한 계산도 하지 않는다는 특징이있다. 그럼 이러한 서버가 왜 필요할까? 그 이유는 데이터의 빠른 저장과 워크스테이션이 중대한 계산을 제공하는 데이터 수신이 파일 서버의 주된 설계 목적이다. 또한 파일 서버는 네트워크에서 다른 컴퓨터의 파일을 공유하거나 데이터를 송수신하기 위해 사용하는 서버이다.
4.프록시 서버
=>장치와 인터넷 웹 사이트 간의 중개자 역할은 하는 서버이다. 프록시 서버에 연결되면 모든 발신 및 수신 데이터가 프록시 서버를 통과한다.그렇다면 왜 이런 서버를 사용할까? 그 이유는 우회 제한, 스트리밍 익명화, 온라인 보안 향상 등등이 있다.
프록시 서버의 작동 방식은 밑에와 같다.브라우저에 웹 사이트 주소를 입력합니다.
프록시 서버가 사용자의 요청을 수신 받습니다.
프록시 서버는 액세스하려는 웹 서버로 요청을 전달합니다.
웹 서버는 응답(웹 사이트 데이터)을 프록시 서버로 되보냅니다.
프록시 서버가 사용자에게 응답을 전달합니다.
위에 서버뿐만 아니라 컴퓨터에는 셀 수 없을 정도로 더 많은 서버들이 존재한다. 나머지 서버들은 다른 서버 내용 공부를 하다가 더 자세히 알아보자.