1. 웹 어플리케이션 구조
root DNS ROOT DNS( 나무 구조로 되어 있는 도메인 네임 시스템(DNS) 계층의 최상위에 있는 도메인 네임 서버(DNS). IP주소와 경로를 저장해둠. 웹 어플리케이션 구조의 최상단에 존재 .COM .EDU .NET .ORG 여기는 인터넷 영역. 우리가 손 볼 수 없음. DNS프로그램 리눅스는 내장 되어있고, MS에서는 IIS 무료로 제공됨 인터넷 정보 서비스. (마이크로소프트 인터넷 정보 서비스(Internet Information Services, IIS)는 마이크로소프트 윈도우를 사용하는 서버들을 위한 인터넷 기반 서비스들의 모임) |
|||
Browser | Internet | Web application | Data server |
html css javascript browser : 인터넷의 자료들을 읽을 수 있게 해 주는 프로그램 html : 웹문서의 뼈대. 하이퍼텍스트를 작성하기 위해 개발 css : 웹의 디자인 스타일을 저장해둔 스타일시트 javascript : 웹페이지의 동작 담당. 자바스크립트에서 파생되어 JQuery, BootStrap이 생겨남. |
http 기반 request & response REQUEST : 사용자의 응답을 요청하는 객체 RESPONSE : 서버가 클라이언트에게 답변하는 응답내용을 담는 객체 |
Static Resource (html, image… ) 단순한 이미지로 보여주며, 블로그와 동일한 개념. 디비에 저장되어있지만 내가 변형시킬수 없음. 그대로 보여주기만 가능 Dynamic resource (Servlet, JSP) 사용자가 들어올때마다 다른 정보를 제공. 그렇기 때문에 DB를 액세스할 수 있어야함 db를 액세스하는 언어 필요
각 각 호환이 잘되는 db존재 php(my-sql) asp(ms-sql) jsp(oracle) * JSP는 서블릿의 사용을 통해 웹페이지의 내용이나 모양을 제어하는 기술이다 웹서버 iis (ms), tomcat-자바 |
DBMS (my-sql, ms-sql, oracle) |
2. 웹 구성요소
- 웹 어플리케이션 작동 구조
클라이언트에서 html문서 요청 > 웹 서버에서 처리 > html 문서 응답
웹 서버 : 클라이언트의 요청을 받아서 처리한 후 결과를 클라이언트에 전송해주는 주체
웹 클라이언트 : 필요한 데이터를 웹 서버에 요청하는 주체, 일반적으로 웹 브라우저.
3. 정적 웹어플리케이션 vs 동적 웹어플리케이션
- 정적 웹어플리케이션
html, image등 미리 만들어진 자원으로 사용자의 요청에 응답
미리 생성된 자원이 없으면 응답 불가
작은 차이라도 각각 다른 페이지로 구성해야 함
웹 서버 수준에서 응답 처리
- 동적 웹어플리케이션
요청이 들어오면 요청에 따라 동적으로 응답할 결과를 생성함
웹 서버는 요청을 받고 적절한 웹 어플리케이션에 요청을 전달
CGI를 이용한 프로세스 기반 웹 응용프로그램 서비스 또는 php, jsp, asp(asp.net) 등의 쓰레드 기반 동적 웹 응용프로그램 기술 사용
웹은 정적. 스스로 바뀌지 않음. 이것을 동적으로 만들기 위해 나온것이 ajax. 대표적인 것이 메인화면이 그대로 있으면서 특정 메뉴만 변동되는 것.
CGI(Common Gateway Interface) : 웹서버(정보제공측)와 클라이언트(정보이용측)간에 필요한 정보교환을 가능하게 해주는 일종의 웹인터페이스라고(일종의 프로그램)
4. 자바의 동적 웹어플리케이션 기술
- 서블릿
자바 기반 웹 개발 표준, 서블릿 규약에 따라 만든 클래스.
특정한 웹 요청을 처리하고 응답을 생성하기 위해 클래스를 만들고 등록
서블릿 컨테이너에 의해 관리
Response가 HTML인 경우 코드로 HTML을 제어하는데 따른 비효율성 노출
- JSP(Java Server Pages)
자바 언어를 기반으로 하는 스크립트
HTTP 프로토콜을 기반으로 웹 요청에 대해 html, xml 등의 결과를 응답하는데 최적화
JSP 컨테이너에 의해 관리
페이지는 실행 시점에 서블릿 클래스로 변환 및 컴파일 되어 실행
5. 컨테이너
- 서블릿 컨테이너
서블릿 클래스를 관리
요청이 발생하면 요청을 처리할 서블릿 객체를 생성하고 실행해서 결과 반환
- jsp 컨테이너
JSP페이지 관리. 요청이 발생하면 처리할 페이지를 파싱해서 클래스를 만들고 컴파일 및 실행
- 대부분의 컨테이너는 서블릿 컨테이너와 JSP 컨테이너의 기능을 모두 제공하기 때문에 일반적으로 웹 컨테이너로 통용
'Dev > Web' 카테고리의 다른 글
[Tomcat] catalina.sh 와 setenv.sh (1) | 2020.02.14 |
---|---|
HTML 기초 (0) | 2019.02.13 |
웹 서버 (tomcat 설치), 웹 프로젝트 생성 (0) | 2019.02.11 |