JSP 01 웹 프로그래밍의 이해
추가) CGI는 서버에 부하를 줘서(리소스를 많이쓴다.) 요새는 사용하지 않는다.
요즘은 (스프링, node.js, 파이썬)으로 백엔드를 구상하고, jsp 기반의 Spring이 기본적으로 자바기반에 많이 쓰인다.
추가) a 태그로 링크 클릭시 서버에 요청하여 문서를 찾아서 클라이언트에게 던져준다.
추가) CGI는 1세대로 초창기에 나왔다. 클라이언트 접속이 많아지면 그 페이지를 매번 로드시켜서 전송시켜준다. 서버에 부하를 과도하게 준다. 메모리를 많이 요청함.
2세대: ASP, PHP, JSP
3세대 : 스프링, 노드제이에스, 파이썬
추가) 웹서버의 종류
① Apache web server(무료) : 리눅스(무료) , 전세계 40% -> PHP가 구동
② IIS(windows)(유료) : 윈도우에서 기능 -> ASP가 구동
③ web spare 와 등등...
③ 톰켓: JSP로 구동 ( 톰켓 내에 웹서버가 내장 되어있으나, 작은 규모에서만 사용)
구동은 정해진게 아니라, 모든 웹서버에서, 해석기만 세팅하면 JSP, PHP, ASP 다 구성 가능하다.
추가) 웹 어플리케이션 서버(WAS): 톰켓
* 웹 서버와 웹 어플리케이션 서버의 차이
웹 서버(Web Server)
웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 정적으로 처리해 반환하는 프로그램인데, 이때 웹 페이지는 그림, 스타일 시트, 자바스크립트를 포함한다.
웹 페이지를 클라이언트로 전달하고, 클라이언트로부터 컨텐츠를 전달 받는 역할을 담당한다.
이외에도 인증, 정적 컨텐츠 관리, HTTPS지원, 컨텐츠 압축, 가상 호스팅, 대용량 파일 지원, 대역폭 스로틀링 등의 기능을 지원한다.
종류 : 아파치(Apache) , 인터넷 정보 서버(IIS), 엔터프라이즈 서버
장점 : 웹 서버는 월드 와이드 웹 뿐만아니라 프린터, 라우터, 웹캠과 같은 임베디드 장치, 그리고 근거리 통신망(Local network)에서도 사용된다. 시스템의 모니터링 또는 장치 관리를 위한 목적으로 사용되는데, 이렇게 웹 서버는 클라이언트에 추가적인 소프트웨어의 설치 없이 대부분의 운영체제에 포함된 웹 브라우저만으로 서비스를 제공할 수 있다.
웹 어플리케이션 서버(Web Application Server)
HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진)이다.
동적 서버 콘텐츠를 수행한다는 것으로 일반 WEB 서버와 구별되며, 주로 데이터베이스 서버와 같이 서비스를 수행한다. J2EE 스펙을 구현한 서버로 분산 트랜잭션, 보안, 메시징, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용되는 미들웨어이고, 웹 서버 + 웹 컨테이너로 웹상에서 사용하는 컴포넌트를 올려놓고 사용하게 되는 서버이다.
쉽게 말해, 다음과 같은 기능을 제공한다.
1. 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
2. 여러개의 트랜잭션을 관리한다.
3. 업무를 처리하는 비즈니스 로직을 수행한다.
종류 : Web Logic, Jeus, Tomcat, JBoss
웹 서버와 웹 어플리케이션 서버의 차이는?
웹 서버는 정적 데이터를 처리하고, 웹 어플리케이션 서버는 동적 데이터를 처리한다.
이 특징으로, 실무에서는 이 둘을 연동하여 사용하는데, WAS는 동적 처리에 최적화 되어 있는 서비스이기 때문에 처리 속도를 위해, 정적처리는 웹 서버에서 처리를 하고, 동적 컨텐츠는 WAS에서 처리한다.
웹 서버에 웹 문서를 처리하는 기능을 분배하여 서버의 부담을 줄일 수 있고, 이로인해 웹어플리케이션에서 정적 데이터 처리를 위해 지연되는 시간이 줄어들어 동적 컨텐츠의 처리 속도가 빨라진다.
'백엔드 > JSP' 카테고리의 다른 글
JSP 06 통합 개발 환경(Eclipse) 다운로드 및 설치 (0) | 2021.03.22 |
---|---|
JSP 05 웹 컨테이너 톰캣(Tomcat) 다운로드 및 설치 (0) | 2021.03.22 |
JSP 04 JDK(Java Development Kit) 다운도드 및 설치 (0) | 2021.03.22 |
JSP 03 JSP 및 서블릿의 개요 (0) | 2021.03.22 |
JSP 02 웹 어플리케이션 처리 방식 및 구현 (0) | 2021.03.22 |