개발공작소
article thumbnail
728x90

 

 

서버 배포하는 겸 + 블로그에 정리 안되있길래 한번 정리해봄

 

 

웹서버란?

 

웹서버의 정의

 

"웹 서버"는 하드웨어(PC), 소프트웨어(APCHE) 혹은 두 개가 같이 동작하는 것을 의미 할 수 있다.

클라이언트(웹 브라우저)로부터 HTTP 요청을 받아들이고, HTML, CSS 문서와 같은 웹 페이지를 반환하는 소프트웨어

- MDN web docs

 

MDN에서는 웹서버를 위처럼 정의하고 있다.

 

이해하기 쉽도록 아래 그림을 보면서 설명을 하면

 

 

클라이언트는 일반적으로 크롬, 엣지, 파이어폭스 같은 웹브라우저다.

우리가 특정 사이트에 접속을 한다면 ( 네*버, 카*오 같은.. ), 당연한 이야기이지만 HTML, CSS, Image같은 정적 자원들이 필요하다.

 

티스토리 페이지

예를 들어 위와 같은 페이지를 가져오려면 

(1) HTML코드 (2) 이미지 (3) CSS파일 (4) Javascript파일과 같은 정적인 소스가 필요하고

WEB서버는 이를 불러오는 역할을 하는 서버이다.

 

* 대표적인 WEB서버 : Apach

 

 

WAS(Web Application Server)란?

 

WAS의 정의

 

웹 애플리케이션 서버(Web Application Server, 약자 WAS)는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다.[1] 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)로 볼 수 있다. 웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다. 한국에서는 일반적으로 "WAS" 또는 "WAS S/W"로 통칭하고 있으며 공공기관에서는 "웹 응용 서버"로 사용되고, 영어권에서는 "Application Server" (약자 AS)로 불린다.

웹 애플리케이션 서버는 대부분이 자바 기반으로 주로 자바 EE 표준을 수용하고 있으나, 자바 기반이지만 자바 EE 표준을 따르지 않는 제품과 .NET이나 Citrix 기반인 비 자바 계열도 존재한다.(복붙...)

- 위키백과

 

위 내용은 그냥 위키백과에서 긁어왔다. 읽어볼 사람은 읽어보고 대략적으로 WAS가 제공하는 기능은 아래 3가지만 기억하면 된다.

 

1. 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다. => ( ex : JDBC 커넥션 )

2. 여러개의 트랜잭션을 관리한다. => ( ex : SELECT, INSERT, UPDATE, DELETE .... )

3. 업무를 처리하는 비즈니스 로직을 수행한다. => ( ex : MVC패턴 )

 

요약하자면 WAS는 DB 조회 및 다양한 비즈니스 로직을 수행하기 위해 만들어진 Application으로 

WEB서버와 웹컨테이너가 합쳐진 형태의 서버이다.

기존 WEB서버가 DB 작업을 하지 못하고 정적 소스만 반환하는 것과 비교된다.

 

* 웹컨테이너 : WEB서버가 보낸 JSP, PHP등의 파일을 비즈니스 로직을 수행한 후 다시 WEB서버로 반환해주는 역할을 하는 컴포넌트

 

 

* 대표적인 WEB서버 : WAS

 

 

728x90
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!