웹 서버(Server)의 기초 개념

조성철 (JoSworkS)·2020년 4월 6일
1

TIL(Today I Learned)

목록 보기
51/73
post-thumbnail

지금까지 두 번의 프로젝트를 진행하면서 모두 백엔드 위주로 프로젝트를 진행하였다. 왜냐하면 클라이언트가 요청하는 사항을 내가 구축한 서버가 제대로 서비스를 제공하는 것이 너무 재밌었기 때문이다.

하지만 웹 서버라는게 단순히 '유저가 브라우저를 통해 발생시키는 이벤트를 클라이언트가 제대로 구현할 수 있도록 서버에 해당 데이터나 정보를 요청하는 것' 정도 라고만 생각하고 프로젝트를 진행하였기 때문에 서버에 대해 자세히 알고 싶어졌다.

단시간에 서버에 깊은 부분까지는 알 수 없겠지만 꾸준히 공부를 한다면 서버에 실체를 알 수 있게 되지 않을까?

1. 서버(Server) 란?

먼저, 서버의 개념에 대해 찾아보니 '서버란 컴퓨터 네트워크에서 다른 컴퓨터에 대해 자신이 갖고 있는 기능이나 서비스, 데이터 등을 제공하는 컴퓨터. 또는 그와 같은 기능을 가진 소프트웨어' 라고 한다.
출처: http://e-words.jp/w/%E3%82%B5%E3%83%BC%E3%83%89%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3.html

여기서 서버란 단어 그대로 '제공'하는 역할을 하는 무엇인 것을 알 수 있다. 생각해 보면 주변에는 정말 많은 서버가 존재한다. 음식점에서 맛있는 음식을 만들어 제공하는 것도 음식점이 서버이며 고객이 클라이언트인 것 처럼..

이와 같이 세상에는 많은 서버가 존재한다. 그렇다면 컴퓨터에서 사용하는 서버는 모두 같은 형태이며 같은 구조인 것일까? 절대 그렇지 않을 것이다. 그래서 알아봤더니 서버에는 다음과 같은 종류들이 있었다.

  • 애플리케이션 서버
  • 카탈로그 서버
  • 통신 서버
  • 컴퓨팅 서버
  • 데이터베이스 서버
  • 팩스 서버
  • 파일 서버
  • 게임 서버
  • 메일 서버
  • 미디어 서버
  • 인쇄 서버(프린트 서버)
  • 사운드 서버
  • 프록시 서버
  • 웹 서버

출처: https://ko.wikipedia.org/wiki/%EC%84%9C%EB%B2%84#%EC%A2%85%EB%A5%98

서버가 거기서 거기겠지 라고 생각한 자신이 부끄러워졌다.. 컴퓨터 세계에도 정말 많은 서버가 존재한다. 물론 위에 나열된 서버보다 더 많은 종류가 있을 것이다.

그래서 나는 맨 마지막에 있는 웹 서버에 중점을 두고 공부하도록 하겠다.

2. 웹 서버(Web Server) 란?

웹 서버란 다음 두 가지로 측면에서 구분할 수 있다.

  1. 웹 서버(하드웨어)

    • 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터
    • 컴포넌트 파일에는 HTML, Images, CSS, JavaScript가 존재
    • 컴포넌트 파일을 인터넷을 통해 클라이언트에 전달
  2. 웹 서버(소프트웨어)

    • 사용자가 어떻게 호스트 파일들에 접근하는지는 관리
    • 웹 서버는 주소 HTTP 프로토콜을 사용하여 클라이언트의 요청을 처리 및 응답

출처: https://developer.mozilla.org/ko/docs/Learn/Common_questions/What_is_a_web_server

즉, 웹 서버란 HTTP 프로토콜을 이용하여 클라이언트의 GET, POST 등의 메소드를 활용한 요청을 서버에 전달하고 이를 서버라는 또 다른 컴퓨터가 그 요청을 처리하여 다시 클라이언트에게 전달해주는 작업이라고 생각할 수 있다.

참고 자료

0개의 댓글