티스토리 뷰
웹 서버
- 하드웨어, 소프트웨어, 혹은 두 개 모두를 의미 / 보통 소프트웨어를 말한다
- 웹서버(소프트웨어): HTTP서버
- 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹페이지를 반환하는 컴퓨터 프로그램
- 웹서버(하드웨어): 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터
- 컴포넌트 파일: HTML 문서, 이미지, CSS stylesheets, JS files..
- 주요 기능
- 클라이언트에서 요청이 올 때 가장 앞에서 요청 처리
- 클라이언트가 서버에 페이지 요청을 하면, 요청을 받아 정적(static) 컨텐츠(.html, .png, .css)를 제공
- 정적 컨텐츠: 누가 언제 요구하더라도 동일한 내용이 반환되는 데이터
- image, html, css, js 파일과 같이 컴퓨터에 저장되어 있는 파일들
- 동적 컨텐츠: 언제, 어떻게 요구했는지에 따라 각각 다른 내용이 반환되는 데이터
- 정적 컨텐츠: 누가 언제 요구하더라도 동일한 내용이 반환되는 데이터
- 정적컨텐츠를 request 받으면, .html, .png 등 응답
- 동적 컨텐츠를 받으면, WAS에게 처리를 부탁
WAS (Web Application Server)
- 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
- 웹 서버는 소프트웨어(Software)를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말합니다.
- 웹 서버의 가장 중요한 기능은 클라이언트(Client)가 요청하는 HTML 문서나 각종 리소스(Resource)를 전달하는 것입니다.
- 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장된 정적(static)인 데이터이거나 동적인 결과가 될 수 있습니다.
웹 서버 소프트웨어의 종류
- 가장 많이 사용하는 웹 서버는 Apache, Nginx, Microsoft IIS
- Apache웹 서버는 Apache Software Foundation에서 개발한 웹서버로 오픈소스 소프트웨어(Open-source Software)이며, 거의 대부분 운영체제에서 설치 및 사용을 할 수 있습니다.
- Nginx는 차세대 웹서버로 불리며 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것을 목적으로 만들어진 서버이며 Apache웹 서버와 마찬가지로 오픈소스 소프트웨어입니다.