본문 바로가기
웹 프로그래밍/Java Spring

[JSP Servlet] 웹프로그래밍이란?

by 2KB 2016. 4. 24.

* inflearn.com 에 올라와 있는 [신입 프로그래머를 위한 JSP 강좌]를 토대로 정리합니다.


1. 웹프로그래밍이란?

 - 웹프로그래밍은 서버와 클라이언트로 구성.

 - 웹을 기반으로 작동되는 어플리케이션을 구현하는 것을 웹프로그래밍이라고 함.



URL의 구성

 http://www.example.com:8080 /book/best

   - 프로토콜 HTTP : 웹서버와 웹클라이언트 사이에서 데이터를 주고 받기 위해 사용하는 통식 방식. TCP/IP 프로토콜 위에서 동작

                             서버와 클라이언트 모두 TCP/IP 동작에 필수적인 IP주소를 가져야 한다.

    - 호스트 주소     : IP주소로도 나타낼수 있으나, DNS [ IP 주소를 문자열로 참조 ]를 이용하여 사용함.

    - 포트   번호      : 통신환경에서( ex) TCP/UDP ) IP 내에서 실행되는 각 어플리케이션을 구분하여 통신하기 위하여 사용.

                         Well-Known Port 라고 하여, 표준화된 포트 번호가 존재함.



 2. JSP / Servlet

    - JSP                : HTML 파일 내에서 Java 코드를 이용하여 구현하는 문서

    - Servlet           : Java로 이루어진 웹 프로그래밍 문서

   

 2.1 JSP와 Servlet의 차이

- JSP 는 HTML문서내에 자바 코드가 삽입.

- Servlet 은 자바 코드 내에 HTML 문서가 삽입.

- JSP 는 '출력'이 주가 되며, Servlet은 출력을 위한 '로직'이 주가 됨.


* JSP 는 컴파일시, Servlet 으로 변환 이후, 해당 코드가 수행됩니다.



3. 웹프로그램의 동작


[출처 : http://timewizhan.tistory.com/entry/WAS-Web-Application-Server]

사용자가 웹 브라우저에 URL 주소를 입력한다.

웹 브라우저가 DNS 서버에 URL 주소의 호스트 이름을 전송하여 웹 서버의 IP 주소를 요청한다.

웹 브라우저는 DNS로부터 받은 IP 주소와 80번 포트를 사용하여 웹 서버와 TCP 연결을 시도한다.

웹 브라우저는 최초 화면의 내용을 얻기 위한 GET 명령을 전송한다.

서버는 요청한 웹 문서를 웹 브라우저에 전송한다.

웹 브라우저와 서버 사이의 TCP 연결을 해제한다.

웹 브라우저는 해당 파일의 내용을 사용자가 볼 수 있게 화면에 표시한다.

[네이버 지식백과] 클라이언트-서버 모델 (데이터 통신과 컴퓨터 네트워크, 2013. 9. 10., 한빛아카데미())


이때, 웹서버는 필요한 로직이 있을 경우 웹어플리케이션 서버(WAS)에게 요청하고 값을 받아, 사용자에게 제공.


3.1 웹서버와 웹 어플리케이션 서버의 차이

 웹서버(WS)는 [아파치]를 예로 들 수 있고, 웹 어플리케이션서버(WAS)는 [톰캣]을 예로 들수 있다.

 WS 는 주로 '정적' 데이터를 출력하는데 반해서, WAS는 '동적'인 데이터를 위해 사용된다.

 각 요청한 값 마다 다른 어플리케이션으로 연결되어 해당 로직에 의한 결과값을 얻기 위하여(동적인 결과) WAS를 사용.

'웹 프로그래밍 > Java Spring' 카테고리의 다른 글

[JSP Servlet] MVC 패턴  (4) 2016.04.24