JSP - 1
웹이란
- World Wide Web의 줄임말로서 www라고 불리기도 함
- 인터넷을 기반으로 하는 정보 서비스
- 팀 버너스리가 정보를 공유하기 위해 생각해낸 서비스
- 하이퍼텍스트 문서의 형태로 구성
정적 웹 문서
- 클라이언트가 서버에 웹 문서를 요청하면 응답이 만들어져 전달
- 클라이언트가 요청한 것이 정적 웹 문서라면 항상 동일한 결과가 전달
- 정적인 웹 문서는 정적인 텍스트로 문서의 내용이 바뀌지 않음
동적 웹 문서
클라이언트가 요청한 것이 동적 웹 문서라면 결과가 동적으로 만들어져 전달
① 웹 문서에 동적인 요소를 포함시켜 클라이언트에 전송하면 클라이언트(웹 브라우저)가 해설하여 결과를 보여주는 경우: JavaScript, Applet
② 서버가 애플리케이션을 통해 문서를 동적으로 생성한 후 클라이언트에 전송하는 경우: CGI, JSP, ASP, PHP 등
웹 애플리케이션의 구성
① 웹 브라우저: 웹 서비스를 요청하고 결과를 제공받는 클라이언트
② 웹 서버: 클라이언트의 요청을 처리하도록 프로세스를 관리
③ 웹 애플리케이션 서버: JSP 프로그램을 실행시키고 결과를 웹 서버에 전달
④ 데이터베이스: 웹 서비스 수행에 필요한 데이터를 저장
웹 어플리케이션 실행 위치
① 클라이언트 측
- 웹 브라우저에 스크립트를 해석하여 페이지를 생성
- Applet, JavaScript, 플래시 등
② 서버 측
- 웹 애플리케이션 서버가 수행하고 결과를 브라우저에 전송
- Java 서블릿, JSP, CGI, ASP 등
- 서버의 부담
CGI (Common Gateway Interface)
- 동적 콘텐츠를 생성하기 위한 서버 프로그래밍 방식
- 웹 서버를 통해 응용 프로그램을 호출하고 결과로서 HTML 코드를 만듦
- 초기 웹 프로그래밍에 사용한 기술
- 클라이언트의 요청이 있으면 해당 프로그램을 실행시키기 위해 개별 프로세스를 생성
- 동일한 CGI를 요청하면 요청한 개수만큼 프로세스를 생성하기 때문에 클라이언트의 요청이 많아지면 급격히 성능 저하
WAS (Web Application Server)
- 웹 애플리케이션 서버는 동적인 웹 서비스를 전담하는 별도의 서버
- 웹 애플리케이션의 실행 환경 제공
- 서버의 성능을 개선하기 위해 웹 서버의 기능을 분리한 것
- 웹 서비스의 처리를 위해 동적 페이지를 만들거나 비즈니스 로직 담당
- 모든 요청에 대해 매번 프로세스를 생성하지 않고 하나의 자바 가상 기계 내에서 수행
- 클라이언트 요청을 처리하기 위해 스레드를 생성하여 CGI 방식보다 나은 성능
웹 서버
- 클라이언트로부터 요청을 받고 결과를 전달하는 기능
- Apache HHTP Server, IIS 등
- HTTP 프로토콜 클라이언트와 웹 서버 사이에 웹 문서를 전송하기 위한 통신 규약
- 웹 서버를 HTTP 서버라고 하기도 함
서블릿
- Server + Applet
- Java 언어에 기초한 웹 프로그램의 개발 기술
- 확장된 CGI 방식이나 CGI 방식과 마찬가지로 디자인과 로직 처리가 혼재
- CGI 방식과 다르게 스레드 기술을 이용
- Java 언어로 서블릿 클래스를 만들고 컴파일된 바이트 코드를 서버에 탑재하여 웹 서비스를 제공
- 서블릿 소스를 수정하면 다시 컴파일하여 서버에 탑재해야 함
JSP
- J2EE를 구성하는 기술 가운데 하나
- 동적 콘텐츠를 만들기 위한 기술로 서블릿 기술에 기초
- 서블릿은 서버측 스크립트로 구성한 언어
- 웹 애플리케이션 서버가 JSP 페이지를 실행시켜 동적 콘텐츠 생성
- JSP 페이지는 서블릿 클래스로 변환되어 컴파일
- 특징: 스크립트 방식 / Java 언어의 특성 활용 / 표현언어, 표현식, 액션 태그 등의 스크립트적 요소 제공 / 다양한 개발 환경이 오픈 소스로 제공
HTTP
- 전송 계층 TCP 프로토콜에 기초한 서비스 계층의 프로토콜
- www 서비스를 위해 웹 서버와 클라이언트가 통신하는 규약
- HTTP 요청 방식: GET / HEAD / POST / OPTIONS / DELETE / PUT / TRACE / CONNECT
- HTTP 응답 메시지(상태 코드)
200 - OK - 클라이언트 요청이 성공적으로 끝남
400 - Bad Request - 잘못된 요청
401 - Unauthorized - -인증 오류
403 - Forbidden - 사용자 허가 모드 오류
404 - Not Found - 요청한 문서가 존재하지 않음
405 - Method Not Allowed - 요청한 method를 지원하지 않음
500 - Internal Server Error - 서버에서의 실행 오류
503 - Service Unavailable - 일시적으로 요청을 처리할 수 없음
댓글
댓글 쓰기