로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
심화

웹 프로그래밍(풀스택)

임시 이미지 [코스설계] Front-End 윤지수
http://www.boostcourse.org/web316/notice/2496
좋아요 4729 수강생 47512
아래의 글은 BOOSTER 서포터즈로 활동하고 ggamso***님이
작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
2)작성 날짜: 20/02/07
(본문 내용)
웹 서버란?

웹 서버는 소프트웨어(Software)를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말합니다.
웹 서버의 가장 중요한 기능은 클라이언트(Client)가 요청하는 HTML 문서나 각종 리소스(Resource)를 전달하는 것입니다.
웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장된 정적(static)인 데이터이거나 동적인 결과가 될 수 있습니다.
 

마켓에 진열만 하고 물건은 공장에 두는 것과 같다.


웹 서버 소프트웨어의 종류

다양한 웹서버들

가장 많이 사용하는 웹 서버는 Apache, Nginx, Microsoft IIS
Apache웹 서버는 Apache Software Foundation에서 개발한 웹서버로 오픈소스 소프트웨어(Open-source Software)이며, 거의 대부분 운영체제에서 설치 및 사용을 할 수 있습니다.
Nginx는 차세대 웹서버로 불리며 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것을 목적으로 만들어진 서버이며 Apache웹 서버와 마찬가지로 오픈소스 소프트웨어입니다.


WAS

클라이언트 서버 구조는 웹서비스의 핵심입니다.

맨처음 포스트에서 말했듯이 서버 클라이언트 구조는 다수의 사용자가  매우 용이한 구조로서 웹 서비스는 이 구조를 바탕으로 되어있습니다. 어쩌면 백엔드라는 것 자체가 이 웹 서버를 지칭하는 것일 수도 있다고 싶을정도입니다.

Data는 너굴.. DBMS가 처리해준다.

DBMS

DBMS(DataBase Management System)는 데이터 즉  클라이언트의 정보를 관리해 줍니다. 
초기에는 이러한 데이터 관리도 BE에 모두 구현해야했지만 이제는 MySQL이라던가, MariaDB등등이 알아서 관리를 해줍니다.  다만 이러한 DBMS를 모두 BE에 넣게되면 흔히 말하는 무거운(처리할 양에 비해서 성능이 부족한) 프로그램이 되어 버립니다 이때문에 등장한 개념이 미들웨어 입니다.



미들웨어


모든걸 webserver에서 하지는 않는다

미들웨어는 말그대로 web 서버와  client 사이에 DBMS나  다른 기능을 위한 서버를 구비하는 것입니다. 이렇게 되면 서버가 분산되어 web서버에 부하가 걸리지 않습니다.

WAS(Web Application Server)


WAS는 일종의 미들웨어로 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적을 가집니다.

프로그램 실행환경과 데이터 베이스 접속 기능하며, 여러개의 트랜잭션관리 비즈니스 로직을 실행 WEB서버 기능을 제공합니다.
이번 코스에서 사용할 Tomcat -WAS로 통합 환경 구축하면 webserver를 따로 구축하지 않고도 작업이 가능합니다.




WAS도 보통 자체적으로 웹 서버 기능을 내장하고 있습니다.
현재는 WAS가 가지고 있는 웹 서버도 정적인 콘텐츠를 처리하는 데 있어서 성능상 큰 차이가 없습니다.
규모가 커질수록 웹 서버와 WAS를 분리합니다.
자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹서버와 WAS를 대체로 분리합니다.


다음 포스트 부터는 HTML과 CSS JS등 실제 프로그래밍에 관련한 내용이 업로드됩니다.


 ******************************************