개발기록/Java

web Server

100'S 2022. 1. 12. 23:15

Server-client Model 이란?

- 서버 : 서비스를 제공하는 컴퓨터
- 클라이언트 : 서비스를 이용하는 사용자

 


 

Server의 종류

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

- Mail Server
인터넷을 통해 사용자 간의 전자 우편을 주고 받는 서비스 제공

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

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


 

Web 통신 구조

 


 

Web Server

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

 

# 종류

- Apache
Apache Software Foundation에서 만든 서버로 HTTP통신에 대한 여러 라이브러리 제공

- Windows IIS
Window OS에서 제공하는 웹 서버로 높은 수준의 보안성과 성능 제공

- NGINX
무료 오픈 소스 서버로 사용자 요청을 스레드가 아닌 확장성이 있는 이벤트 기반 설계로 리소스만 할당해서 사용

 

 

# 장점

- 빠른 처리 속도 요청에 대한 결과 페이지만 전송, 구현이 쉬움 HTML같은 단순한 문서만으로 구성된다.

 

 

# 단점

- 만들어진 정보만 보여주기 때문에 서비스가 한정적이고, 글의 추가, 수정, 삭제가 어렵다.
문서의 내용이 변경될 경우 직접 수정한다.


 

WAS

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

 

# 종류

- tomcat
Apache Software Foundation에서 Servlet과 JSP를 통한 동적인 웹 문서를 처리하기 위해 만든 웹 애플리케이션 서버

- jeus
국산 WAS, 대용량 데이터 트랜잭션을 고성능으로 처리하며 개발 및 운영에 관한 기술 지원이 뛰어남

 

# 장점

- 서비스의 다양성 여러 데이터를 활용할 수 있음
- 글의 추가, 수정, 삭제가 쉬움, 문서의 내용이 변경될 경우 직접 수정하지 않음

 

# 단점

- 데이터를 처리하여 결과를 전송하므로 처리 속도가 느리다.
- 서비스에 해당하는 소스를 직접 작성해야되서 구현이 어렵다.


 

서블릿 컨테이너(Servlet Container)

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


JSP 컨테이너(JSP-Container)

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

'개발기록 > Java' 카테고리의 다른 글

서블릿 리스너 ( Servlet Listner)  (0) 2022.01.13
Filter와 Wrapper  (0) 2022.01.13
HttpServletRequest, HttpServletResponse 개념 이해  (0) 2022.01.13
HTTP란?  (0) 2022.01.13
Servlet(서블릿) + 예제  (0) 2022.01.12