1. 웹 서버
ㅇ 웹 클라이언트(웹브라우저 등)가 HTTP 프로토콜을 통해 요청한 HTML 페이지나 화일들을
정적 또는 동적으로 제공하는 서버
ㅇ 보통, 웹 서버라 함은,
- 소프트웨어 및 하드웨어 형태의 서버들이 조합된 것을 가리키거나,
- `웹 서버`,`웹 어플리케이션 서버(WAS)`,`데이터베이스 서버` 모두를 통한
동적 기능의 결합을 말하기도 함
2. Apache 등과 같은 웹 서버 특징
ㅇ 운영체제 위에서 동작하면서,
- 웹 어플리케이션을 지원하며, 웹 브라우저에게 항상 포트를 열어두는,
- 웹 서비스 운용을 위한 소프트웨어 모음
ㅇ 주요 기능
- HTTP 프로토콜 구현
- 사용자 요청 결과를 HTML 형태로 변환해 전달
- 웹 기능 구현 관련 자원의 관리
- TCP 연결 관리에 대해 운영체제와 별도로 일부 역할 분담 등
ㅇ 웹서버 例
- Apache 웹서버
. Apache 소프트웨어 재단에서 제공
. 명칭은 NCSA HTTPD 1.3 버젼의 패치화일을 제공하는 사람들의 모임명에서 유래
.. `A PAtCH server`
. 오픈소스 소프트웨어 임
- MS社 IIS (internet information server) 웹서버
- 엔진엑스(NginX)
. 고 성능 지향 (대용량 동시처리, 작은 실행 메모리 등)
. Web Proxy, Mail Proxy, Web Page Cache, Load Balancing 등
3. 동적 웹서버 구성 및 형태
ㅇ 동적 웹서버 구성
- `웹 서버`, `웹 어플리케이션 서버(WAS)`, `데이터베이스 서버`의 동적인 기능 결합
ㅇ 동적 웹서버 형태
- 1-Tier : 웹서버,WAS,데이터베이스서버가 모두 단일 서버에 구축된 형태
- 2-Tier : 웹서버,WAS가 하나의 서버에 데이터베이스서버가 또다른 서버에 구축된 형태
- 3-Tier : 웹서버,WAS,데이터베이스서버가 모두 다른 서버에 분리 구축된 형태
4. 웹 어플리케이션 서버 (WAS, Web Application Server)
ㅇ 동작 개시 형태
- 주로, 웹서버를 통해 들어온 사용자 입력에 따라 동작
. 사용자가 요청한/제출한 매개변수 값에 근거하여 동작함
ㅇ 서버측 웹 어플리케이션의 구성
- 구성 요소
. 후면의 시스템(데이터베이스 서버 등)들과 상호작용하는 일체의 웹 응용 프로그램들
- 동적 수행 : 폼 처리 등을 하며 동적으로 웹페이지 생성을 위한 PHP,JSP,ASP 등
. 폼 처리 : 웹 어플리케이션의 중추적인 기능으로, 사용자와 서버가 소통하는 수단
. 처리 결과 : 동적 웹페이지 생성
. 생성된 웹페이지 : HTML, CSS, 자바스크립트 등으로 작성됨
- 데이터 저장 : 후면에서 동작하는 MySQL 등 데이터베이스 서버를 이용
ㅇ WAS 例) Tomcat(톰캣) 등
ㅇ 한편, 클라이언트측 웹 어플리케이션은,
- 웹브라우저 상에서 동작하는 어플리케이션(주로, 자바스크립트로 쓰여짐)을 말함
5. [웹서버 관련 참고사항]
ㅇ 디렉토리 인덱스 (directory index) 또는 인덱스 페이지 (index page)
- 웹브라우저 주소창에 URL로써 디렉토리명까지 만 입력해도,
기본으로 보여주는 특별한 의미를 갖는 파일명 (index.htm 등)