📌 웹 서버(Web Server) 란?
- 하드웨어 측면
- web server의 소프트웨어와 website의 컴포넌트 파일들을 저장하는 컴퓨터
- 컴포넌트 파일에는 HTML 문서, Images, CSS stylesheets, JavaScript files가 존재
- Web server는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)를 주고받을 수 있도록 한다.
- 소프트웨어 측면
- 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리
- 브라우저가 웹 서버에서 불려진 파일을 필요로 할때, 브라우저는 HTTP를 통해 파일을 요청한다. 요청이 올바른 웹 서버(하드웨어)에 도달하였을 때, web server(HTTP 서버로 국한)는 요청된 문서를 HTTP를 이용해 보내준다.
- 웹 서버는 HTTP 프로토콜을 사용하여 클라이언트의 요청을 처리 및 응답한다.
✨ 정적 웹 서버와 동적 웹 서버
- 정적 웹 서버 (혹은 스택)
- HTTP 서버(소프트웨어)가 있는 컴퓨터(하드웨어)로 구성되어 있다.
- 서버가 요청된 파일을 사용자의 브라우저에게 전송하기 때문에, "정적"이라고 부른다.
- 동적 웹 서버
- 정적 웹 서버와 추가적인 소프트웨어(대부분 일반적인 애플리케이션 서버와 데이터베이스)로 구성되어 있다.
- 애플리케이션 서버가 HTTP 서버를 통해 사용자의 브라우저에게 요청된 파일들을 전송하기 전에, 애플리케이션 서버가 업데이트하기 때문에 동적이라고 부른다.
- 예를 들어, 사용자가 브라우저에서 보는 최종 웹페이지들을 생성하기 위해, 애플리케이션 서버는 데이터베이스로 온 컨텐츠들로 이루어진 HTML 템플릿을 채울 수 있다.
- MDN 혹은 Wikipedia와 같은 사이트들은 수 천개의 웹페이지들을 가지고 있지만, 그것들은 실제의 HTML 문서가 아니라 HTML 템플릿과 엄청 큰 데이터베이스로 구성되어 있다.
- 이 구성은 내용들을 전달하고 관리하기 쉽고 빠르게 만들어 준다.
참고: 웹 서버란 무엇일까?