지금까지 두 번의 프로젝트를 진행하면서 모두 백엔드 위주로 프로젝트를 진행하였다. 왜냐하면 클라이언트가 요청하는 사항을 내가 구축한 서버가 제대로 서비스를 제공하는 것이 너무 재밌었기 때문이다.
하지만 웹 서버라는게 단순히 '유저가 브라우저를 통해 발생시키는 이벤트를 클라이언트가 제대로 구현할 수 있도록 서버에 해당 데이터나 정보를 요청하는 것' 정도 라고만 생각하고 프로젝트를 진행하였기 때문에 서버에 대해 자세히 알고 싶어졌다.
단시간에 서버에 깊은 부분까지는 알 수 없겠지만 꾸준히 공부를 한다면 서버에 실체를 알 수 있게 되지 않을까?
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) 란?웹 서버란 다음 두 가지로 측면에서 구분할 수 있다.
- 웹 서버(하드웨어)
- 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터
- 컴포넌트 파일에는 HTML, Images, CSS, JavaScript가 존재
- 컴포넌트 파일을 인터넷을 통해 클라이언트에 전달
- 웹 서버(소프트웨어)
- 사용자가 어떻게 호스트 파일들에 접근하는지는 관리
- 웹 서버는 주소 HTTP 프로토콜을 사용하여 클라이언트의 요청을 처리 및 응답
출처: https://developer.mozilla.org/ko/docs/Learn/Common_questions/What_is_a_web_server
즉, 웹 서버란 HTTP 프로토콜을 이용하여 클라이언트의 GET, POST 등의 메소드를 활용한 요청을 서버에 전달하고 이를 서버라는 또 다른 컴퓨터가 그 요청을 처리하여 다시 클라이언트에게 전달해주는 작업이라고 생각할 수 있다.
참고 자료
- https://developer.mozilla.org/ko/docs/Learn/Common_questions/What_is_a_web_server
- https://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%84%9C%EB%B2%84
출처 : https://velog.io/@josworks27/%EC%9B%B9-%EC%84%9C%EB%B2%84Server%EC%9D%98-%EA%B8%B0%EC%B4%88-%EA%B0%9C%EB%85%90
'Server > server' 카테고리의 다른 글
클라우드 컴퓨팅 (2) | 2021.03.26 |
---|---|
[WAS] 웹서버, WAS 란? (0) | 2021.03.25 |
[ Server] 란 무엇인가? (0) | 2021.03.25 |
[REST API ] 란? (0) | 2021.03.20 |
[Server] Restful API란? (0) | 2021.03.20 |
댓글