일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 객제지향프로그래밍
- Java
- orcle
- 객체지향프로그래밍
- 객제지향
- 프로그래밍
- sql
- ERWin
- DB
- 공부를열심히
- 자바
- 오라클
- 테이블
- javascript
- 코딩
- Project
- 데이터베이스
- 공부
- Oracle
- web
- CSS
- 프로젝트
- 웹
- jsp
- 객체지향
- 웹프로그래밍
- UI
- 주말이다..
- html
- squery
- Today
- Total
햄찌개
2020-11-19 정적/동적 페이지, 웹 서버 본문
정적 페이지, 동적 페이지
- 정적 페이지 : 고정된, 변하지않는’ 성격을 가진 페이지
- 동적 페이지 : 자동으로 생성된 페이지, 기존의 웹 서버에 새로운 기능을 가진 프로그램을 탑재하여 동적으로 HTML 을 생성
서버가 필요한 이유 : 미들티어의 역할을 맞기기 위해
서버 : 웹서버, 웹어플리케이션 서버
서버 역할 : 클라이언트 요청 대기
웹서버
- 웹브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 정적으로 처리 해 반환 하는 프로그램 ex) 아파치, IIS
- 장점 : 웹 서버는 월드 와이드 웹 뿐만 아니라 프린터, 라우터, 웹캠과 같은 임베디드 장치, 그리고 근거리 통신망(local network)에서도 사용된다. 시스템의 모니터링 또는 장치 관리자를 위한 목적으로 사용되는데, 이렇게 웹서버는 클라이언트에 추가적인 소프트웨어의 설치없이 대부분의 운영체제에 포함된 웹 브라우저만으로 서비스를 제공할 수 있다.
웹 어플리케이션
- HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진) ex) Web Logic
- 프로그램 실행 환경과 데이터 베이스 접속 기능을 제공
- 여러개의 트랜잭션을 관리
- 업무를 처리하는ㄴ 비즈니스 로직 수행
웹서버, 웹어플리케이션서버 차이
- 웹서버는 정적 데이터를 처리하고, 웹어플리케이션 서버는 동적 데이터를 처리한다.
- WAS는 동적 처리에 최적화 되어 있는 서비스 이기 때문에 처리 속도를 위해, 정적처리는 웹서버에서 처리를 하고, 동적 컽넽츠는 WAS에서 처리한다.
- 웹서버에 웹문서를 처리하는 기능을 분배하여 서버의 부담을 줄일수 있고, 이로인해 웹어플리케이션에서 정적 데이터 처리를 위해 지연되는 시간이 줄어드는 동적 컨텐츠의 처리 속도가 빨라진다.
CGI(Common Gateway Interface)
- 동적 페이지를 위한 기술
- 웹 서버와 동적 컨텐츠 생성을 맡은 프로그램 사이에서 정보를 주고받는 인터페이스
- 초기 웹 프로그래밍에 사용된 기술
- 프로세스 단위로 실행되기 때문에 사용자가 증가하면 급격히 성능 저하
확장 CGI
- 전통적인 CGI 방식의 단점들을 보완한 기술
- 매번 프로세스를 생성하는 방식이 아니고 동일한 프로그램에 대해서는 하나의 프로세스를 생성한 후 여러 개의 스레드로서 요청을 처리하는 방식 -> 시스템의 부하를 줄임
- ASP, PHP, Servlet, JSP 등
- ASP – MS사에서 만들어진 확장 CGI, 특정 웹 서버와 OS에 동작
- PHP – ASP와는 달리 특정 영역에서만 동작하지않음, 적은 명령어들로서 프로그래밍이 가능, 기능들이 미약
- Servlet – Sun사, Java 언어를 기반으로 하여 동적인 컨텐츠를 생성, Java 코드안에 HTML태그가 혼재되어 있어서 작업에 대한 분리적인 측면에서 효율성이 떨어짐
- JSP – Sun사, Java언어를 기반, HTML태그 사이에 스크립트 언어 형식으로 프로그램을 작성
동적 컨텐츠 처리를 위한 기술들
1. 웹 서버
ㅇ 웹 클라이언트(웹브라우저 등)가 HTTP 프로토콜을 통해 요청한 HTML 페이지나 화일들을
정적 또는 동적으로 제공하는 서버
- 소프트웨어 및 하드웨어 형태의 서버들이 조합된 것을 가리키거나,
- `웹 서버`,`웹 어플리케이션 서버(WAS)`,`데이터베이스 서버` 모두를 통한
동적 기능의 결합을 말하기도 함
2. Apache 등과 같은 웹 서버 특징
ㅇ 운영체제 위에서 동작하면서,
- 웹 어플리케이션을 지원하며, 웹 브라우저에게 항상 포트를 열어두는,
ㅇ 주요 기능
- 사용자 요청 결과를 HTML 형태로 변환해 전달
- 웹 기능 구현 관련 자원의 관리
- TCP 연결 관리에 대해 운영체제와 별도로 일부 역할 분담 등
ㅇ 웹서버 例
. 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(톰캣) 등
- 웹브라우저 상에서 동작하는 어플리케이션(주로, 자바스크립트로 쓰여짐)을 말함
tomcat의 context Root는 webapps
server.xml 에
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
로 webapps로 appBase가 설정되어 있어서 url 입력시 webapps 이후가 루트가 된다.
WEB-INF 안에 만든 것들은 클라이언트에서 확인 불가 서버단에서만 확인 가능
src, web.xml, lib 등 중요한것 숨겨둠
'웹기반어플리케이션' 카테고리의 다른 글
HttpServletResponse (0) | 2020.12.01 |
---|---|
jsp 소스 표준 구성 요소 (0) | 2020.11.26 |
객체지향 5대원칙 : SOLID (0) | 2020.11.25 |
모델1, 모델2 (0) | 2020.11.25 |
2020-11-25 Request 메소드 (0) | 2020.11.25 |