심심한잉여의 잡동사니

[Servlet/JSP] 웹 서버와 WAS 본문

코딩일기/Servlet&JSP

[Servlet/JSP] 웹 서버와 WAS

심심한잉여 2021. 12. 24. 16:44
반응형

네트워크 통신

서버는 특정한 서비스를 제공하는 컴퓨터를,
클라이언트는 이러한 서비스를 이용하는 사용자를 말한다.

서버의 종류

웹 서버(Web Server) : 웹 브라우저와 HTTP 프로토콜을 사용하여 사용자의 요구에 따른 특정 서비스를 제공하는 서버

메일 서버(Mail Server) : 인터넷을 통해 사용자 간의 전자 우편을 주고 받는 서비스를 제공하는 서버

FTP 서버(FTP Server) : 서버 내에 파일을 업로드, 다운로드 할 수 있도록 파일 관리 기능을 제공하는 서버

터넷 서버(Telnet Server) : 터미널, 텍스트로만 이루어진 창에서 특정 명령어를 통해 원격지 서버를 접속, 관리하는 서버

데이터베이스 서버(Database Server) : Data를 저장하고, 원격지에서 접속할 경우 권한에 따라 해당 데이터를 열람, 추가, 수정, 삭제 기능 처리하는 서버

웹 통신

위 그림과 같이 웹 서버에 클라이언트가 들어와서 페이지 요청을 하면 서버에서 WAS로 WAS에서 데이터 베이스로
다시 요청대로 응답하여 데이터베이스에서 WAS로 정보를 주고 WAS에서 정보를 통해 맞는 HTML을 웹 서버로 웹 서버를 이제 클라이언트가 확인하는 방법으로 웹 페이지는 응답한다.

웹 서버

사용자에게 HTML페이지나 jpg, png같은 이미지를 HTTP프로토콜을 통해 웹 브라우저에 제공하는 서버로 내부의 내용이 이미 만들어져 있는 정적인 요소들을 화면에 보여주는 역할을 함

 

WAS

Web Application Server의 약자로 사용자가 요청한 서비스의 결과를 스크립트 언어 등으로 가공하여 생성한 동적인 페이지를 사용자에게 보여주는 역할

 

웹 서버가 WAS에 요청하면 WAS가 해당 프로그램을 실행하는 방식, 한 프로그램에 여러 요청이 있는 경우 한 개의 프로그램을 실행하여 그 프로그램을 다수 요청 처리한다.

 

서블릿 컨테이너와 JSP 컨테이너

- 서블릿 컨테이너(Servlet-Container)
서블릿의 생명 주기 관리(생성, 초기화, 소멸), HttpServletRequest/HttpServletResponse 객체 생성, 요청에 따라 멀티 스레딩 구성, 전송 방식에 따라 동적으로 페이지 구성하는 작업 진행, 정적 로딩 처리

- JSP 컨테이너(JSP-Container)
JSP파일을 다시 java코드로 변경해주고 class파일로 전환하여 메모리 공간에 로드한 뒤 실행 가능하게 만드는 작업 진행
(Servlet)화, 처리 결과를 HTML파일로 만들어주는 작업 진행, 동적 로딩 처리

Web Server VS WAS

결론

WebServer
빠르지만 단순한 정적인 페이지

WebServer-WAS
다양한 서비스를 보여 줄 수 있는 동적인 페이지
글의 추가, 수정, 삭제가 더 간편하고 직접 서버로 들어가서 수정하지 않아도 됨

요청에 대한 페이지만 보내는 것이 웹 서버 
요청에 대해 정보를 받고 정보에 맞춰 페이지를 맞춰서 주는 것이 WAS

 

반응형

'코딩일기 > Servlet&JSP' 카테고리의 다른 글

[JSP]JSP에서 URL 오리진 가져오기  (0) 2023.07.13
[JSP] JSP와 HTML의 차이  (0) 2022.11.08