Dev/Web

웹 프로그래밍 기초

창문닦이 2019. 2. 11. 18:14

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를 액세스하는 언어 필요
  • php, asp, jsp

각 각 호환이 잘되는 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