1. http://www.sba.seoul.kr:80/kr/index?contries=seoul

   ----   ------------------- -- ---------- ----------------

     1                2          3       4             5


1) 프로토콜 : 통신 규약 ex) http, https, FTP, SMTP ...

2) IP : 컴퓨터를 구분해주는 컴퓨터 주소 부분 but 쉽게 인식할 수 있도록 DNS로 표시

-> www.naver.com 등이 다 도메인이고 DNS를 통해 IP주소로 변환된다.

3) port : IP가 컴퓨터를 구분해 준다면 port는 해당 컴퓨터에서 프로그램을 구분해주는 주소 80번은 웹 default 포트이다.

4) context path 및 URI 부분

URL vs URI

: URL은 위와 같은 풀 경로를 가리키고 URI는 컨텍스트 패스 이후부터의 경로를 의미한다.

5) Query 문자열 : GET방식으로 데이터를 넘길 때 붙는 부분



2. [ 웹서버와 WAS(Web Application Server) 간의 차이 및 동작 방식 ]


- 웹서버 : 정적인 서비스를 지원해 준다. 단순히 HTML 문서 등을 응답할 때 사용

- WAS(Web Application Server) : 동적인 서비스를 지원해 준다. JSP페이지 등에서 DB 접근하고 특정 로직을 수행하는 등 동적인 처리후 응답을

   해줄 경우 이용된다.

=> WAS에서 웹서버의 역할을 할 수 있음에도 웹서버와 WAS를 분리시킨 이유?

: 간단 간단한 정적 페이지에 대한 요청을 웹서버가 처리해줌으로써 트래픽이 WAS로 전부 쏠리는 걸 분산시켜 처리하기 위해서


[ 기본적인 웹 동작 방식 ]

Client 브라우저(크롬,IE,사파리...) -request-> 웹서버 -> WAS(Web Application Server) -> DB

   <-response            <-                                        <-


3. [ JSP와 Servlet의 관계 ]


- JSP : 

HTML 문서 내에 자바 코드를 포함하는 문서로

- JSP페이지는 Servlet 으로 변환된다.

- MVC 패턴에서 View를 담당한다.


- Servlet :

JAVA언어로 웹프로그래밍 문서로

- MVC 패턴에서 Controller를 담당한다.



4. [ JSP에서의 MVC 패턴 ]


MVC 패턴

: Controller(Servlet 문서)

  Model <-> DB

  View(JSP 문서)

  로 분리하여 화면(View)와 데이터 처리를 분리시킨 방식으로 JSP에서는 Servlet이 Controller를 JSP 문서가 View를 

  담당하는 것이 일반적이다.



5. [ Client Request에 따른 JSP 처리 로직 ]


: Client Browser(크롬,IE,사파리...)에서 단순히 정적인 HTML 페이지 요청시 웹서버는 바로 HTML 페이지를 Response(응답)해 준다.

하지만, 동적인 작업이 필요한 특정 JSP페이지를 요청시(ex helloworld.jsp) 웹서버는 WAS로 요청을 보내게 되고

WAS는 컨테이너에 해당 JSP페이지에 대한 Servlet 객체가 있는지를 확인한다 있다면 해당 Servlet 객체의 doGET, doPOST 메서드를 통해

최종적으로 HTML 문서를 Client에게 응답하게 된다.


하지만, 요청한 JSP페이지에 대한 Servlet 객체가 존재하지 않는다면

우선, 요청한 JSP 페이지(helloworld.jsp)를 Servlet 자바 파일로 변환하게 된다.(helloworld_jsp.java)

그 뒤, 해당 Servlet 자바 파일을 컴파일 해 helloworld_jsp.class 와 같은 클래스 파일로 변환하게 되고

해당 class를 기반으로 Servlet 객체를 생성해 메모리에 적재하고 doGET, doPOST 메서드를 수행하여

최종적으로 Client 브라우저에 HTML 문서의 형태로 Response(응답)을 해주게 된다.




 


+ Recent posts