웹 서버 구축(백엔드)에대한 정의

웹 서버를 구축을 하는것은 컴퓨터에 웹을 연동하기 위해 프로그램(웹 서버 응용프로그램)을 개발하는 것이다. 즉 웹 서버를 구축하기 위해서 "hppt"라는 프로토콜을 인지할 수 있는 소프트웨어(웹 서버 소프트웨어)가 있어야 한다. 또한 클라이언트에서 요청한 요구사항들을 내포하고 있고, 데이터를 처리 할 수 있는 웹 서버 응용프로그램이 필요하다. 우리가 흔히 백엔드 개발을 한다는것은 웹 서버 응용프로그램을 개발한다는 것이다. 

데이터의 종류에는 여러가지가 있는데 크게 두가지로 나뉜다. web 문서와 전자문서다. web문서는 데이터를 로딩해서 가져오는 문서고, 전자 문서는 컴퓨터에서 자체적으로 수행 가능한 문서다(ex: 메모장).

 

이러한 데이터(web 문서, 전자문서..)들을 관리하기 위해 데이터베이스를 사용한다.

즉 흔히 웹서버(백엔드)를 개발한다는 것은 여러가지 기술들을 개발한다는것이다. 기업들의 백엔드 부트캠프 같은걸 모집할 때 코딩 테스트로 HTML,CSS, Database, 알고리즘 을 테스트로 보는것을 보면 백엔드 개발 하나를 하는데 여러가지 기술들이 들어간다는걸 알 수 있다.

 

웹 서버와 웹 브라우저가 서로 요청과 전송을 할때 "파일"을 보내며, 이를 해석해서 결과를 출력한다.

 

 

웹 서버 소프트웨어

    웹 브라우저의 요청을 해석해서 필요한 웹 서버 응용프로그램을 작동시킨다. 그리고 웹 서버 응용프로그램의 실행결과를 웹 브라우저로 전송한다. 

ex) Apach, IIS ,GWS

 

 

웹 서버 응용프로그램

    웹 사이트의 목적을 이행하는 프로그램이다. 

    ex) 검색 사이트의 검색엔진, 번역 사이트의 번역프로그램 등등..

 

WAS(Web Application Server)

 web server+ web container 를 합쳐서 WAS라 한다.WAS에서 클라이언트(웹 서버)의 요청(파일)을 받고 웹서버가 이를 해석해서 webcontainer내의 적절한 jsp파일을 실행 시킨 후 webcontainer는 실행 결과를 웹 서버에 보낸다. 이 결과를 바탕으로 웹 서버는 데이터 베이스나 html file을 클라이언트에게 보낸다.

 

Web Container

 jsp를 실행시키기 위한 jsp엔진과 servlet, 그리고 jsp파일이 들어가 있다.

jsp engine ex) tomcat

 

tomcat은 서버프로그램이지만, jsp 엔진을 내포하고 있다.