WEB 통신 프로세스
1.
사용자가 URL(또는 IP)을 통해 WEB 서버를 호출하고 요청사항을 객체(request)에 담아서 전송
2.
WEB 서버는 요청 객체(request)을 받아서 바로 처리하거나 어플리케이션 서버(WAS)로 객체를 전달
3.
WAS 서버는 요청에 대한 내용과 요청 객체(request)를 받아 적절히 처리(필요시 DB 작업도 진행)
4.
WAS 서버는 요청 처리후 결과를 응답 객체(response)에 담아서 WEB 서버로 회신
5.
WEB 서버는 응답 객체(response)을 다시 사용자에게 회신
6.
사용자의 브라우저는 WEB 서버가 보내준 코드를 해석해 화면을 구성하여 출력
WEB 서버 단일 구성 (1-Tier Architecture)
WEB 서버 수행과정
1.
사용자가 URL 또는 링크가 걸린 글/그림등을 클릭하여 웹 서버에게 페이지를 요청
2.
웹 서버(WEB Server)가 해당하는 페이지를 사용자에게 전송
3.
웹 브라우저는 페이지를 받아서 화면으로 만든뒤 사용자에게 출력
페이지의 구성
•
html : 페이지의 컨텐츠를 나타낸다.
•
css : html의 컨텐츠를 꾸며주는 정적 언어
•
javascript : 컨텐츠를 동적으로 표현해주는 스크립트 언어
단일 WEB 서버 아키텍처의 단점
1.
필요한 페이지마다 자바스크립트 등으로 복잡한 로직을 구성해서 모든 페이지를 미리 준비해야한다.
2.
복잡한 로직이 들어있는 페이지를 모두 사용자(웹 브라우저)에게 전송해야한다는 문제점을 가진다.
WEB-WAS 구성 (2-Tier Architecture)
WAS(Web Application Server)
웹 서버가 계산하기 복잡한 연산을 처리해주는 서버
WEB-WAS 아키텍처 수행과정
1.
사용자(브라우저)가 서버에게 서비스를 요청(페이지 또는 복잡한 연산)
2.
WAS는 사용자의 요청 내용(request)을 받아서 처리한 다음 웹 페이지를 생성하여 사용자에게 전송
3.
WEB 서버는 만들어진 웹 페이지를 사용자에게 전달
WEB-WAS 아키텍처의 장점
1.
WAS에서 프로그래밍 언어(Java, C++ 등)을 사용해 로직을 처리하기 때문에 보다 복잡한 로직 처리가 가능
2.
사용자는 WEB 서버가 주는 페이지만 받아서 실행하므로 내부의 로직을 알수 없기 때문에 보안이 강화되는 효과를 얻을 수 있다.
3.
복잡한 연산은 서버단에서 처리하고 사용자(브라우저)에게 결과값만을 전송하기 때문에 사용자는 그만큼 빠르게 결과를 받을 수 있고 받는 정보량(코드)이 줄어들어 네트워크 부하도 줄일 수 있다.
WEB-WAS 아키텍처의 특징
1.
WEB 서버와 WAS 서버는 물리적으로 나눌 수도 있고 한 서버안에 기능적으로 나눌수도 있다.
2.
WEB, WAS 서버는 서로 수행하는 기능이 다르다.
•
WEB 서버 : 연산이 필요없는 정적 페이지(또는 이미지, 파일 등)를 처리한다.
•
WAS 서버 : 연산이 필요한 경우 WAS 서버가 처리하고 WEB 서버에게 전달한다.
WEB-WAS-DB 구성 (3-Tier Architecture)
Database
•
논리적으로 연관된 하나 이상의 자료의 모음
•
데이터(내용)들을 고도로 구조화함으로써 검색과 갱신(추가, 수정, 삭제)의 효율화를 시도한다.
•
데이터베이스는 DBMS(Database Management System)에 의해서 관리된다.
Database의 필요 이유
•
WAS 서버가 복잡한 연산을 위해 필요한 각종 정보를 저장
•
사용자가 데이터에 직접 접근하는 것을 방지하여 보안성을 강화
WEB-WAS-DB 아키텍처 특징
•
복잡한 연산을 위해 필요한 정보를 데이터베이스에서 가져와서 처리한다.
•
사용자가 데이터베이스에 직접 접근할 수 없기 때문에 보안성이 좋다.
WEB-WAS-DB 아키텍처 수행과정
1.
사용자(브라우저)가 로그인 서비스를 요청 → 서비스를 요청하면서 웹 서버에 입력한 ID와 비밀번호 정보를 전달
2.
웹 서버는 WAS에게 데이터(ID, 비밀번호)를 전달함
3.
WAS는 로그인 서비스 로직을 처리하는 도중 사용자가 입력한 아이디와 비밀번호에 해당하는 유저가 있는지 데이터베이스에 검색을 요청
4.
데이터베이스에서 쿼리 결과를 다시 WAS에게 전달
5.
WAS에서 WEB 서버를 통해서 사용자에게 로그인 서비스 요청 결과를 응답